• MySQL性能优化:索引


    MySQL性能优化:索引  

      索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引以找到特定值,然后顺指针找到包含该值的行。这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息。
     
    当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。
     

    优点

    1.大大加快数据的检索速度;
    2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
    3.加速表和表之间的连接;
    4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

    缺点

    1.索引需要占物理空间。
    2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
     
    关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,比如wp_comments表中针对5个字段设计了BTREE索引。  
     
     
    索引命名:index_tablename_title (index_表名_字段名)
     
    注意:
    1:不需要为主键建索引,因为数据默认就带有索引了。
     
     
    内容参考:
    http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html
    http://blog.csdn.net/xluren/article/details/32746183#t0
     
          
  • 相关阅读:
    LocalDateTime方法plusHours()
    windows查看所有端口, 查看端口是否占用
    maven编译引起excel文件损坏问题解决
    Java BigDecimal 添加数据
    postgresql数据库设置联合主键的语句
    Linux为普通用户挂载磁盘
    Glog不打印错误方法
    关闭书莓派3B所有指示灯
    巧用Python自带http服务实现文件共享
    VIM高阶使用技巧
  • 原文地址:https://www.cnblogs.com/wangyuman26/p/6193769.html
Copyright © 2020-2023  润新知