一尘不染

mysql索引太多?

mysql

我花一些时间来优化当前数据库。

我正在专门查看索引。

有几个问题:

  • 索引太多了吗?
  • 索引将加速什么?
  • 索引会减慢什么?
  • 什么时候添加索引是个好主意?
  • 什么时候添加索引是个坏主意?
  • 多个索引与多列索引的优缺点

阅读 412

收藏
2020-05-17

共1个答案

一尘不染

索引将加速什么?

数据检索-SELECT语句。

索引会减慢什么?

数据操作-INSERT,UPDATE,DELETE语句。

什么时候添加索引是个好主意?

如果您想获得更好的数据检索性能。

什么时候添加索引是个坏主意?

在将要进行大量数据操作的表上-插入,更新…

多个索引与多列索引的优缺点

在处理覆盖索引(多个列的索引)时,查询需要解决列的顺序,在索引列定义中从左到右。语句中的列顺序无关紧要,只有列1、2和3的顺序无关紧要-
一条语句在使用索引之前需要引用第1列。如果仅引用第2列或第3列,则无法使用1/2/3的覆盖率索引。

在MySQL中,查询中的SELECT
/语句只能使用一个索引(子查询/等被视为单独的语句)。MySQL允许的每个表的空间量是有限制的。此外,在索引列上运行函数会使索引无用-IE:

WHERE DATE(datetime_column) = ...
2020-05-17