我花一些时间来优化当前数据库。
我正在专门查看索引。
有几个问题:
索引将加速什么?
数据检索-SELECT语句。
索引会减慢什么?
数据操作-INSERT,UPDATE,DELETE语句。
什么时候添加索引是个好主意?
如果您想获得更好的数据检索性能。
什么时候添加索引是个坏主意?
在将要进行大量数据操作的表上-插入,更新…
多个索引与多列索引的优缺点
在处理覆盖索引(多个列的索引)时,查询需要解决列的顺序,在索引列定义中从左到右。语句中的列顺序无关紧要,只有列1、2和3的顺序无关紧要- 一条语句在使用索引之前需要引用第1列。如果仅引用第2列或第3列,则无法使用1/2/3的覆盖率索引。
在MySQL中,查询中的SELECT /语句只能使用一个索引(子查询/等被视为单独的语句)。MySQL允许的每个表的空间量是有限制的。此外,在索引列上运行函数会使索引无用-IE:
WHERE DATE(datetime_column) = ...