6.3.B-tree索引原理详解

合理的设计并利用索引

索引种类

  • B-tree索引( mysql中使用最频繁的索引类型)

  • Hash索引(检索效率远高于B-tree索引,可以一次定位)

  • Fulltext索引(目前仅char , varchar , text这三种类型可以)

  • R-tree索引(比较少见,主要用于空间数据检索)

慢查询优化思路及案例

如何判断是否需要创建索引

  • 较频繁的作为查询条件的字段应该创建索引

  • 唯一性太差的字段不适合单独创建索引,可以尝试复合索引

  • 更新非常频繁的字段不适合创建索引

  • 不会出现在where子句中的字段不该创建索引

索引失效与优化

  • 复合索引尽量全匹配

  • 最佳左前缀法则(带头索引不能死,中间索引不能断)

  • 不要在索引上做任何操作(计算、函数、自动/手动类型转换),不然会导致索引失效而转向全表扫描

Last updated

Was this helpful?