gpt4 book ai didi

mysql - MySQL计数查询使用WHERE子句花费的时间太长

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

我有一个MySQL数据库,我需要使用COUNT来获取行。

该数据库大约有2000万行,如果我尝试以下操作

SELECT COUNT(id) FROM database_rows WHERE database_id = 53;


大约需要5分钟才能获取COUNT。

我相信问题的原因是WHERE子句,但我需要where子句来计算所需的行,而不是表中的每一行。

SELECT COUNT(id) FROM database_rows;


该查询大约需要60毫秒才能运行。

我无奈地看了在线文章,但是他们没有提供足够的解决方案。

有什么方法可以优化此查询并使它仅花费几秒钟?

谢谢。

最佳答案

database_id列上的索引在这里可能会有所帮助:

CREATE INDEX idx ON database_rows (database_id);


这假定 database_id尚没有某种索引,并且值 database_id = 53很少出现。如果这些条件之一都不成立,则添加索引可能无济于事。

关于mysql - MySQL计数查询使用WHERE子句花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59114854/

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