gpt4 book ai didi

mysql - 从 TokuDB 查询创建临时表太慢

转载 作者:行者123 更新时间:2023-11-29 02:24:54 25 4
gpt4 key购买 nike

我在一台服务器上有这个表:

CREATE TABLE `mh` (
`M` char(13) NOT NULL DEFAULT '',
`F` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`D` char(6) DEFAULT NULL,
`A` int(11) DEFAULT NULL,
`DC` char(13) DEFAULT NULL,
`S` char(22) DEFAULT NULL,
`S0` int(11) DEFAULT NULL,
PRIMARY KEY (`F`,`M`),
KEY `IDX_S` (`S`),
KEY `IDX_M` (`M`),
KEY `IDX_A` (`M`,`A`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1;

和同一张表,但在另一个类似的服务器上使用 MyISAM 引擎。

当我执行这个查询时:

CREATE TEMPORARY TABLE temp
(S VARCHAR(22) PRIMARY KEY)
AS
(
SELECT S, COUNT(S) AS HowManyS
FROM mh
WHERE A = 1 AND S IS NOT NULL
GROUP BY S
);

该表有 1.2 亿行。使用 TokuDB 的服务器在 3 小时内执行查询...使用 MyISAM 的服务器在 22 分钟内执行。

使用 TokuDB 的查询显示“查询了大约 38230000 行,获取了大约 303929 行,加载数据仍然存在”状态。

为什么 TokuDB 查询时间这么长? TokuDB 是一个非常好的引擎,但我不知道我在这个查询上做错了什么

服务器正在使用 MariaDB 5.5.38 服务器

最佳答案

TokuDB 当前并未在此语句中使用它的批量提取算法,如 https://github.com/Tokutek/tokudb-engine/issues/143 中所述.我添加了指向此页面的链接,因此它被视为即将进行的工作的一部分。

关于mysql - 从 TokuDB 查询创建临时表太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24201286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com