什么减慢MySQL表上的索引速度

所以我已经回顾了有关
MySQL索引的文献,但我仍然对以下内容感到困惑.据解释,索引有可能在计算时间方面减慢MySQL查询速度.据解释,这是基于在具有所述索引的表上操作的查询,称为index_A.据我所知,在某些时候,由于相关表上发生的UPDATE,INSERT或DELETE查询,MySQL必须重写其INDEX_A的索引文件.我不明白的是这究竟是怎么发生的.必须在每次UPDATE,INSERT或DELETE之后发生吗? (这似乎不是这种情况.)或者在重写发出之前是否需要执行一定数量的所述操作? (在这种情况下,我将如何找出多少?)或者这取决于该表所使用的引擎?基本上,我希望更好地理解可能导致我的索引减慢查询的原因,以便我可以更好地避免在生产中.如果我提出的任何问题都不清楚,请告诉我,谢谢你的时间.

编辑:似乎答案在于更好地理解Rtrees和Btrees.这些是用于管理MySQL中各种引擎中的索引的结构.我将进一步审查这些,并希望很快就我的发现发表一个明确的答案.

最佳答案 是的,它会在每次查询后执行.因此,对于MyIsam批量插入,我们可以禁用密钥并执行所有插入,然后启用密钥.请阅读以了解有关
that的更多信息.(无论如何,这在innodb中不可用)

点赞