我在我的MySQL数据库上使用索引已经有一段时间了,但是从来没有正确地学习过它们。通常,我会使用WHERE子句将索引放在要搜索或选择的任何字段上,但有时看起来并不是那么黑白分明。
MySQL索引的最佳实践是什么?
示例情况/困境:
发布于 2010-06-16 05:47:25
高效地加载数据:索引加快了检索速度,但减慢了插入和删除操作,以及索引列中值的更新。也就是说,索引会降低大多数涉及写入的操作的速度。之所以会发生这种情况,是因为写入行不仅需要写入数据行,还需要更改任何索引。表的索引越多,需要进行的更改就越多,平均性能降级也就越大。大多数表都会收到很多读操作和很少的写操作,但是对于写入百分比很高的表来说,索引更新的开销可能会很大。
避免索引:如果您不需要特定的索引来帮助查询更好地执行,请不要创建它。
Disk Space:一个索引占用磁盘空间,多个索引相应占用更多空间。与没有索引相比,这可能会使您更快地达到表大小限制。尽可能避免索引。
外卖:不要过度索引
https://stackoverflow.com/questions/3049283
复制相似问题