可以使用B-tree索引的查询类型:

  • 全值匹配:和索引中的所有列进行匹配
  • 匹配最左前缀:即使用索引的第一列
  • 匹配列前缀:即匹配索引的第一列值的部分
  • 匹配范围值:匹配索引值的范围
  • 精确匹配某一列并范围匹配另外一列
  • 只访问索引的查询

B-Tree索引限制:

  • 如果不是按照索引的最最左列开始查找则无法使用索引。
  • 不能跳过索引中的列,即不能直接使用索引中中间的列,只能使用索引第一列
  • 如果查询中有某个列表的范围查询,则其右边所有的列都无法使用索引优化查找,如like,!=等。如果查询值的范围有限制,那么可以通过使用多个等于条件来代替范围条件。

哈希索引说明:

  • 存储引擎会对数据列计算一个hash值
  • 哈希索引只支持等值比较查询。
  • 哈希索引的速度非常快,除非有很多哈希冲突。
  • 哈希索引不是按照索引值顺序存储的,所以不能用于排序
  • 哈希索引不支持部分索引列匹配查找

标签: none

评论已关闭