美文网首页
Mysql 索引优化

Mysql 索引优化

作者: Rohn | 来源:发表于2016-08-26 11:33 被阅读41次

合适的数据类型

  • 较短数据长度:
    越短的数据类型通常在磁盘、内存和CPU缓存中都需要更少的空间,处理起来更快。
  • char(32)可以存储的就不要用char(64);
  • tinyint可以储存的就不要用int;
  • 简单的数据类型:
    整型数据比起字符,处理开销更小
  • 应该用内置的日期和时间数据类型,不要用字符串来存储时间;
  • 用整型数据存储IP;
  • 尽量避免使用NULL;

B+Tree 联合索引:最左前缀原则

  • like使用时需要注意;
  • 索引字段前后顺序排列需要综合考虑类型长度离散度等指标;

哈希索引:only in Memory

  • Hash索引只支持等值比较;
  • 不能使用hash索引排序;

聚簇索引:只有solidDB和InnoDB支持

  • 根据主键的范围查找会大量减少磁盘IO;
  • 尽量用默认的自增长做为主键,减少增加数据时的移动数据开销与碎片;

覆盖索引

  • 索引项通常比记录要小,所以MySQL访问更少的数据;
  • 索引都按值的大小顺序存储,相对于随机访问记录,需要更少的I/O;
  • 大多数据引擎能更好的缓存索引。比如MyISAM只缓存索引;

全文索引:只有MyISAM引擎支持。

相关文章

网友评论

      本文标题:Mysql 索引优化

      本文链接:https://www.haomeiwen.com/subject/ioxzsttx.html