分类 我想 下的文章

** 服务器版本号:** centos 7 查看自己服务器版本: ``` [elastic@ecs-d22a-0001 ~]$ uname -a Linux ecs-d22a-0001 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [elastic@ecs-d22a-0001 ~]$ cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) ```

- 阅读剩余部分 -

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

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

B-Tree索引限制:

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

哈希索引说明:

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