即使使用where子句,“ SELECT COUNT(*)”也很慢

即使使用where子句,“ SELECT COUNT(*)”也很慢,第1张

即使使用where子句,“ SELECT COUNT(*)”也很慢

InnoDB使用集群主键,因此主键与行一起存储在数据页中,而不是存储在单独的索引页中。为了进行范围扫描,您仍然必须扫描数据页中所有可能较宽的行。请注意,此表包含一个TEXT列。

我会尝试两件事:

  1. 运行
    optimize table
    。这将确保数据页按排序顺序进行物理存储。可以想象,这可以加快对群集主键的范围扫描。
  2. 仅在change_event_id列上创建一个附加的非主索引。这会将该列的副本存储在索引页面中,从而使扫描速度更快。创建它之后,检查说明计划以确保它正在使用新索引。

(如果从零开始递增,您可能还想使change_event_id列bigint 无符号



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5011746.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存