MYSQL索引建立需要注意以下几点细节


  本文标签:MYSQL,索引

1.建立索引的时机:若表中的某字段出现在select、过滤、排序条件中,为该字段建立索引是值得的 。

2.对于like %xxx的模糊查询,普通的索引是无法满足的,需要建立全文索引 。

3.对于有多个条件的,比如: "...where a=xxx and b=yyy","...where a=xxx order by b","...where a=xxx group by b" 。需要使用组合索引 。但是组合索引只能在SQL语句中满足"最左前缀"的条件下使用 。且组合索引有一些副作用,如索引尺寸可能比数据本身大,因为组合索引的组合条目多 。所以在实际应用中,要量身定做,使用慢查询分析工具分析 。

4.开启索引缓存,直接在内存中查找索引,不用再磁盘中 。

5.建立索引是有代价的,当update、delete语句执行时,会使得索引更新,将耗掉更多的时间 。可以使用mysqlreport报告,了解select、update、delete、insert、replace各语句所占的百分比 。