码迷,mamicode.com
首页 > 数据库 > 详细

mysql索引优化

时间:2016-05-26 14:27:03      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

这里记录一些看了《高性能mysql》后的一些学习心得

在弄清楚mysql innoDB前要提前了解索引的原理,最基本的要了解磁盘结构与工作方式还有b-tree结构。

加索引的目的:

  1. 减少服务器执行sql时扫描的数据量
  2. 避免order by或者group by等操作的时候产生的临时表
  3. 将随机IO变成顺序IO

评价索引好坏的标准:

  1. 一星,索引将相关的数据放在一起
  2. 二星,索引中列的顺序与查询中的列的顺序是一样的
  3. 三星,索引中的列包含查询中的所有列

设计索引注意事项:

  1. 多个字段的联合索引要与查询的顺序一致,那么这里就涉及一个问题,在设计查询的时候应该把哪一列做为第一个被查询的字段呢?

e.g.使用如下原则:

 

技术分享

这样做的原因:第1级如果使用聚合少的键,那么就更容易让第2级更聚合,即需要去查询b-tree的次数变少。

mysql索引优化

标签:

原文地址:http://www.cnblogs.com/wlemory/p/5530872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!