mysql 的索引类型

来源:互联网 发布:ntfs for mac安装不了 编辑:程序博客网 时间:2024/06/06 03:11


B-tree索引的特点
B-tree索引以B+树的结构存储数据




在什么情况下可以使用到B树索引
全职匹配的查询
order_sn='9898989656565'
匹配最做前缀的查询
匹配列前缀的查询
order_sn like '9876%'
匹配范围值的查询
order_sn > '9874566'
order_sn < '9874566'
精确匹配做前列并范围匹配另外一列
order_sn = '987456' and order_date< '588745528'
只访问索引的查询(索引覆盖)

Btree索引的使用限制
如果不是安装2索引最左列开始查找则无法使用到索引

使用索引时候不能跳过索引中的列

not in 和 <>操作无法使用索引

如果查询中有某个列的范围查询,则其中右边所有列都无法使用索引

索引会增加写操作成本
太多的索引会增加查询优化器的选择时间
使用索引来优化查询
使用索引扫描来优化排序
通过排序操作
按照索引排序扫描数据
1.索引的列排序和order by子句的排序完全一致
2.索引中所有列的方向(升序,降序)和order by 子句完全一致
3.关联查询 order by中的字段全部在关联表中的第一张表中
利用索引优化锁
索引可以减少锁定的行数
索引可以加快处理速度,同时也加快了锁的释放
索引的维护和优化
删除重复和冗余的索引

pt-duplicate-key-checker h=127.0.0.1
查找未被使用过的索引

更新索引统计信息及减少索引碎片
analyze table table_name
optimize table table_name 使用不当会导致锁表




原创粉丝点击