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
(若是報錯,請按照提示安裝依賴)
相關文章
相關標籤/搜索