gpt4 book ai didi

MySQL COUNT(id) WHERE 花费的时间太长

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:55 25 4
gpt4 key购买 nike

我有一个 InnoDB 表,大约有 700 万行,大小为 4GB。结构如下(隐藏列名):

table structure

当我运行查询 SELECT COUNT(id) FROM table1 WHERE col7 != '' 时,返回计数的时间太长,大约在 50 到 70 秒之间。EXPLAIN EXTENDED 报告是: enter image description here

SELECT count(id) from table1 运行了大约 5 秒,但我还需要使用 WHERE 子句。我的问题是这些速度对于服务器来说是否正常,可以采取哪些措施来加快速度,尤其是第二个查询。

服务器正在运行 MySQL v5.6.35。

最佳答案

为了加快处理速度,您需要将非聚集索引添加到您正在对其设置 where 条件的列。这将使您的数据库更快地完成查询。为此,请尝试以下操作:

此处显示的语句使用名称列的前 10 个字符创建索引(假设名称具有非二进制字符串类型):

CREATE INDEX part_of_name ON customer (name(10));

资源:https://dev.mysql.com/doc/refman/5.7/en/create-index.html

关于MySQL COUNT(id) WHERE 花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43319286/

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