MySQL性能优化

时间:2019-04-15
本文章向大家介绍MySQL性能优化,主要包括MySQL性能优化使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、优化查询
可以通过分析查询语句了解查询语句的执行情况:
explain / describe 查询语句
查询结果显示了id,select_type,table,type,possible_keys,key等信息
id:表示查询语句的编号
select_type:表示查询语句的类型。该参数的几个常用取值:simple表示简单查询,其中不包括连接查询和子查询;primary表示主查询,或者最外层的查询语句;union表示连接查询的第二个或后面的查询语句
table:表示查询的表
possible_keys:表示查询中可能使用到的索引
key:查询中实际用到的索引
key_len:索引字段的长度
rows:表示查询的行数
使用索引查询:
查询语句使用like,如果查询条件的第一个字符是%,索引不会被使用
多列索引只有在查询条件的第一个字段是索引,索引才会被使用
查询语句中如果有or,则其前后的查询条件字段必须都是索引,索引才会被使用
优化查询基本原则:
         尽量早过滤
       优化子查询,使用join代替子查询
         尽量少排序
2、优化数据库结构:
○1分表、添加中间表、增加冗余字段
○2优化插入记录的速度:
1、当有大量插入数据时,应先禁用索引插入完毕后再开启索引。
  禁用索引语句:alter table 表名 disable keys
  开启索引语句:alter table 表名 enable keys
 
2、插入记录时禁用唯一性检查,插入后开启
  禁用唯一性检查:set unique_checks = 0
  开启唯一性检查:set unique_checks = 1
3、优化insert语句
  插入数据时应尽量一次性插入,减少与数据库的连接效率更高
○3分析表、检查表、优化表