MySQL 索引(一)

1. MySQL索引类型

B-Tree 索引
Hash 索引
Fulltext 索引
RTree 索引

2. 创建索引符合如下条件
  1. 较频繁的作为查询条件的字段应该创建索引;
  2. 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件;
  3. 更新非常频繁的字段不适合创建索引;
  4. 不会出现在 WHERE 子句中的字段不该创建索引;
3. 索引优化建议
  1. 于单键索引,尽量选择针对当前 Query 过滤性更好的索引;
  2. 选择组合索引的时候,当前 Query 中过滤性最好的字段在索引字段顺序中排列越靠前越好;
  3. 选择组合索引的时候,尽量选择可以能够包含当前 Query 的 WHERE 子句中更多字段的索引;
  4. 尽可能通过分析统计信息和调整 Query 的写法来达到选择合适索引的目的而减少通过使用Hint 人为控制索引的选择,因为这会使后期的维护成本增加,同时增加维护所带来的潜在风险;
3. 索引使用限制
  1. MyISAM存储引擎索引键长度总和不能超过1000字节;
  2. BLOB和TEXT类型的列只能创建前缀索引;
  3. MySQL 目前不支持函数索引;
  4. 使用不等于( != 或者 <>)的时候 MySQL 无法使用索引;
  5. 过滤字段使用了函数运算后(如abs(column)), MySQL无法使用索引;
  6. Join 语句中 Join 条件字段类型不一致的时候 MySQL 无法使用索引;
  7. 使用 LIKE 操作的时候如果条件以通配符开始(’%abc…’) MySQL 无法使用索引;
  8. 使用非等值查询的时候 MySQL 无法使用 Hash 索引;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值