gpt4 book ai didi

mysql - 缓慢的 MySQL 查询

转载 作者:可可西里 更新时间:2023-11-01 07:57:46 26 4
gpt4 key购买 nike

我在 MySQL 中有一个查询(在存储过程中使用),它按名称和另一个字段进行搜索。当我使用这些搜索参数的不同组合时,我会很快得到结果(在 1 到 2 秒之间),但对于某些特定值,我会得到一个需要 9 秒才能在生产网站上返回结果的查询。以下是我从 EXPLAIN 语句中得到的结果:

id, select_type, table, type, possible_keys, key,       key_len, ref,   rows, Extra
--------------------------------------------
1, SIMPLE, Names, ref, IX_Name, IX_Name, 17, const, 3173, Using where

名称声明为 varchar(40),另一个字段为 Unsigned smallint(6)。我在查询中使用的名称 (IX_Name) 的前 15 个字符上使用索引。我可以看到慢速查询获取大量行来检查 EXPLAIN 输出的“行”列。

我不确定我可以做些什么来提高性能。上面的 EXPLAIN 输出有什么明显的错误吗?

谢谢,蒂姆

最佳答案

您是如何填充表格的?索引是树结构,为了高效地工作,它们需要平衡——如果表被批量加载或应用定期维护,这将自动发生。如果这些都不是真的,那么对于树的那些过度生长的部分,索引的效率将大大降低。

最简单的检查是删除索引并重新创建它。如果您之后有相同的行为,那就另当别论了,但至少排除了一种可能性。

关于mysql - 缓慢的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1281471/

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