MySQL2索引优化

索引

无论在工作中,还是在面试当中,数据库优化是一个避不开的技术点,关于数据库的优化,有如下几点:

  (1)优化表结构,对常用的字段和非常用的字段分开存储;

  (2)优化SQL,合理使用索引;

  (3)做数据库读写分离,减少IO压力,由于数据库对记录做了持久化至磁盘,对磁盘的IO是非常消耗性能的;

  (4)使用缓存技术,不让所有的数据请求都打到数据库上;

  (5)对业务做垂直拆分,减少耦合度;

  (6)对标做水平拆分,这一步是比较复杂,要注意主键生成原则和请求路由规则。

索引使用优点和注意点

  一般可以通过Explain查询检索的Rows的记录量来衡量查询速度;

  但是把索引建立在有大量重复数据的字段上,并不能有效地提升SQL效率;

       发现没有用到索引,这是对索引列使用like的限制,要对索引列使用like,通配符只能在结尾,开头不可以有任何的通配符;

  在索引列上使用MySQL函数也会导致索引失效

  (1)使用LIKE关键字的查询语句

       在使用LIKE关键字进行查询的查询语句中,如果匹配字符串的第一个字符为"%",索引不会起作用,只有"%"不在第一个位置,索引才会起作用

  (2)使用多列索引的查询语句

       MySQL可以为多个字段创建索引,一个索引可以包含16个字段,对于多列索引,只有查询条件中使用了这些字段中第一个字段时,索引才会被使用

  (3)使用OR关键字的查询语句

      查询语句的查询条件中只有OR关键字,且OR前后两个条件都是索引时,查询才会使用索引,否则,查询将不使用索引

 

posted @ 2018-12-29 22:37  Chichens  阅读(98)  评论(0编辑  收藏  举报