jol*_*olt 7 mysql database indexing performance
索引用于快速查找具有特定列值的行.如果没有索引,MySQL必须从第一行开始,然后读取整个表以查找相关行.
说我们心爱的MySQL手册.
在这种情况下,为什么不只是索引每一列?
既然我觉得它会对性能产生更大的影响,那么我们何时应该使用索引/索引的最佳实践?
提前致谢!
Joa*_*uer 13
创建索引总是需要付出代价:表上的索引越多,修改该表的成本就越高(即插入,更新和删除需要更长的时间).
反过来,可以使用索引的查询会更快.这是一个经典的权衡.在大多数表中,少量常用索引值得花费,因为查询经常发生(或者它们的性能比修改性能重要得多).
另一方面,如果你有一种经常更新的日志表,但很少查询(例如在发生灾难性故障的情况下),那么添加索引会增加很大的成本并提供很少的优势.
另外:索引是否有用取决于要执行的确切查询.您可能有索引跨越每列,但查询不能使用它,因为索引顺序错误,信息错误或格式错误.所以并非所有索引都能帮助所有查询