zoukankan      html  css  js  c++  java
  • 索引的使用原则

    1、建立索引

    对查询频次比较高且数据量比较大的表建立索引。索引字段的选择,最佳候选列应当从where子句的条件中提取,如果where子句中的组合比较多,应当挑选最常用,过滤效果最好的列的组合。业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。

    2、使用前缀索引

    索引列开始的部分字符,索引创建后也是使用硬盘来存储的,因此短索引可以提升访问的IO效率。对于BLOB、TEXT或很长的varchar列必须使用前缀索引,MySQL不允许索引这些列的完整长度。前缀索引是一种能使索引更小更快的有效方法,但缺点是MySQL无法使用前缀索引做order by和group by,也无法使用前缀索引做覆盖扫描。

    3、选择合适的索引顺序

    当不需要考虑排序和分组时,将选择性最高的列放在前面。索引的选择性是指不重复的索引值和数据表的记录总数之比,索引的选择性越高则查询效率越高,唯一索引的选择性是1,因此也可以使用唯一索引提升查询效率。

    4、删除无用索引

    MySQL允许在相同列上创建多个索引,重复的索引需要单独维护,并且优化器在优化查询时也需要逐个考虑,这会影响性能。重复索引是指在相同的列上按照相同的顺序创建的相同类型的索引,应该避免创建重复索引。如果创建了索引(A,B)在创建索引(A)就算冗余索引,因为这只是前一个索引的前缀索引,对于B-Tree索引来说是冗余的。解决重复索引和冗余索引的方法就是删除这些索引。除了重复索引和冗余索引,可能还会由一些服务器永远不用的索引,也该删除。

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    Spring MVC之@RequestMapping 详解
    Liferay 6.1开发学习
    学习软件产品包装
    gzip优化网络传输量提高传输效率[转]
    spring mvc事务注解
    Spring MVC 注解[转]
    WebMagic的设计参考了业界最优秀的爬虫Scrapy
    springMVC 注解版
    微信开放JS-SDK,助力网页开发
    解救设计师的8大神器
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14988709.html
Copyright © 2011-2022 走看看