MySQL优化相关

慢查询

  1. 查看是否开启慢查询日志 show variables like 'slow_query_log' ;
  2. 设置没有索引的记录到慢查询日志 set global log_queries_not_using_indexes=on ;
  3. 查看超过多长时间的sql进行记录到慢查询日志 show variables like 'long_query_time' ;
  4. 设置慢查询的时间 set long_query_time=1;
  5. 慢查询日志格式:

6. mysql日志位置:mysql

  • 日志文件路径:show variables like 'general_log_file';
  • 错误日志文件路径:show variables like 'log_error';
  • 慢查询日志文件路径:show variables like 'slow_query_log_file';
  1. 慢查询日志分析工具sql

    • mysqldumpslow (安装以后系统自带的,能够带参数筛选)
    • pt-query-digest(分析结果更加详细)
  2. explain分析慢查询:工具

索引

显示表结构

desc table_name;日志

查看建表语句

show create table table_name;code

查询重复冗余的索引
use information_schema;

SELECT a.TABLE_SCHEMA AS '数据名'
	,a.TABLE_NAME AS '表名'
	,a.INDEX_NAME AS '索引1'
	,b.INDEX_NAME AS '索引2'
	,a.COLUMN_NAME AS '重复列名'
FROM STATISTICS a 
	JOIN STATISTICS b ON a.TABLE_SCHEMA = b.TABLE_SCHEMA
						AND a.TABLE_NAME = b.TABLE_NAME
						AND a.SEQ_IN_INDEX = b.SEQ_IN_INDEX
						AND a.COLUMN_NAME = b.COLUMN_NAME
WHERE a.SEQ_IN_INDEX = 1 AND a.INDEX_NAME <> b.INDEX_NAME;
第三方工具查询冗余索引(会给出处理方法)

没有安装的先安装orm

wget http://www.percona.com/downloads/percona-toolkit/2.2.4/percona-toolkit-2.2.4.tar.gz

tar percona-toolkit-2.2.4.tar.gz

cd percona-toolkit-2.2.4

perl Makefile.PL

make && make install

若是报错(Can't locate Time/HiRes.pm in @INC (@INC contains....)的话,

yum -y install perl-Time-HiRes

查询语句blog

pt-duplicate-key-checker -uroot -p123456 -h127.0.0.1
(若是报错,请按照提示安装依赖)
相关文章
相关标签/搜索