MySQL优化

发现问题

慢查询日志

是否启动 :

show variables like ‘slow_query_log‘

启动慢查询:

set global slow_query_log = on;

慢查询日志存放位置

show variables like ‘slow_query_log_file‘;

记录日志的触发时间(sql执行多少秒以上才会记录)

show variables like ‘long_query_time‘;

设置时间(一般实际项目设置为0.001)

set global long_query_time = 0.001

当一条sql执行的时间超过了100毫秒后,就会记录到日志文件中,格式是这样的:

MySQL优化

分析问题

使用Explan可以模拟优化器执行sql语句,从而进行分析查询语句

使用:

Explain + SQL语句

MySQL优化

id:表示select子句执行的顺序

  • id相同,执行顺序右上往下
  • id不同,id值越大优先级越高,越先被执行。
  • id为null时表示一个结果集,不需要使用它查询,常出现在包含union等查询语句中。

select_type:表示的查询的类型,主要用于区分普通查询、子查询、复杂查询

table:这一行的数据属于哪张表

type:访问的类型

类型 说明

索引

什么是索引?

索引是一种特殊的文件,InnoDB引擎数据表上的索引是表空间的组成的一部分,存储的是表中数据的引用指针,索引相当于一个目录,可以通过目录快速的找到要查询的内容;索引的实现通常有B+树

索引有什么优点?

1.索引可以加快数据检索的速度,这也是创建索引的主要原因

2.可以在查询的过程中,通过优化隐藏器,提高系统性能

索引有什么缺点?

1.降低增/删/该的效率,因为对数据的增/删/改,索引也需要动态的维护,而创建索引和维护索引会浪费时间

2.因为索引是一个文件,它会占用物理空间

索引的特点

MySQL优化

上一篇:MongDB自动运行脚本


下一篇:1、MYSQL去重语法 ---- DISTINCT