不同版本mysql的優化器有一定的差別
+ 檢視資料庫版本
select @@version;
+ 檢視正在使用的database
select database();
+ 檢視mysql是否開啟慢查詢日誌
show variables like 'slow_query_log';
+ 開啟mysql慢查詢日誌
set global slow_query_log=on;
+ 設定儲存mysql慢查詢日誌所在的檔案位置
set global slow_query_log_file='/home/mysql/sql_log/mysql-slow.log';
+ 設定沒有索引的記錄到慢查詢日誌
set global log_queries_not_using_indexes = on;
+ 設定sql查詢記錄到慢查詢日誌檔案的限定時間,單位秒,通常是0.01s
set long_query_time=1
+ 慢查詢日誌分析工具
pt-query-digest
pt-query-digest /var/lib/mysql/bogon-slow.log | more
+ 檢視sql執行計畫
explain select * from store;
using filesort:需要優化。mysql需要進行額外的步驟來發現如何對返回的行排序。它根據連線型別以及儲存排序鍵值和匹配條件的全部行的行指標來排序全部行。
using temporary:需要優化。mysql需要建立乙個臨時表來儲存結果,這通常發生在對不同的列集進行order by而不是group by的情況。
+ 合理建立索引
+ 用join代替子查詢
+ group by語句優化
查詢每乙個演員參演影片的數量
select actor.first_name,actor.last_name,count(*)
from film_actor left join actor on film_actor.actor_id = actor.actor_id
group by film_actor.actor_id;
mysql資料庫優化索引 mysql資料庫索引調優
一 mysql索引 1 磁碟檔案結構 innodb引擎 frm格式檔案儲存表結構,ibd格式檔案儲存索引和資料。myisam引擎 frm格式檔案儲存表結構,myi格式檔案儲存索引,myd格式檔案儲存資料 2 mysql資料庫資料範問原理 innodb btree 1 ibd檔案中主鍵構建b tree...
mysql資料庫優先 MySQL資料庫優化
1.新增索引 mysql資料庫的四類索引 index 普通索引,資料可以重複,沒有任何限制。unique 唯一索引,要求索引列的值必須唯一,但允許有空值 如果是組合索引,那麼列值的組合必須唯一。primary key 主鍵索引,是一種特殊的唯一索引,乙個表只能有乙個主鍵,不允許有空值,一般是在建立表...
mysql資料庫優化
用到啥學啥,mysql資料庫優化成了這幾天的老大難問題。瘋狂的尋找mysql優化的資料,覺得有用的不少,記錄下跟大家分享,對了,這裡僅僅是mysql資料庫本身的優化,沒有寫磁碟之類的 開始之前,介紹倆mysql的命令 show global status 檢視執行狀態的,顯示執行各種狀態值 show...