现在的位置: 首页 > 综合 > 正文

MySQL查询优化—索引

2013年10月16日 ⁄ 综合 ⁄ 共 489字 ⁄ 字号 评论关闭

MySQL索引

    MySQL查询优化最重要的当属建立正确的索引,没有索引,面对海量数据,一切的优化纯属空话。什么是索引?索引为什么那么重要呢?这些问题这里就不谈了,还是先写下我首次优化MySQL查询海量数据的心得吧,数据库表类型是MyISAM。

    如果简单的一个查询语句,MySQL查询速度还是比较客观的,例如select col_name from table [where conditions]即使数据量再大,也是非常之快。但是我们平时具体使用往往需要几张表的连接才能得到数据,甚至是进行order by、group by,这个时候如果没有索引,就显得异常的慢。表的连接、order by、group by往往还要加上条件,因此创建复合索引的情况比较多见。

    复合索引有一个重要的原则是匹配最左前缀,一般如果匹配了最左前缀,就不需要再单独建立一个单一索引了,索引过多只会减慢查询速度。例如建立了create index ComplexIndex on table(Owner,Type,Permission)就相当于包含了(Owner,Type)和(Owner)这两个索引。先写这些吧,待续。

抱歉!评论已关闭.