首頁 >資料庫 >mysql教程 >如何理解MySQL資料庫的最佳化

如何理解MySQL資料庫的最佳化

坏嘻嘻
坏嘻嘻原創
2018-09-14 14:43:291618瀏覽

分割區允許根據指定的規則,跨檔案系統指派單一資料表的多個部分。表的不同部分在不同的位置被儲存為單獨的表。

SQL與索引最佳化

  如何發現有問題的SQL?


                使用MySQL慢查日誌對有效率問題的SQL進行監控

show variables like 'slow_query_log'

set global slow_query_log_file = '/home/mysql/sql_log/mysql-show.log'

set global log_queries_not_using_indexs = on;

set global long_query_time = 1

  慢查的儲存格式

# Time: 140606 12:30:17

// 执行SQL的主机信息
# User@Host: root[root] @ localhost[]

// SQL的执行信息
# Query_time:0.000031 Lock_time:0.000000 Rows_sent: 0 Rows_examined:0

// SQL 执行时间
SET timestamp = 1402029017

// SQL的内容
select CONCAT('storage engine:',@@storage_engine) as INFO;

慢查日誌的分析工具

- mysqldumpslow 

- pt-query-digest 

如何透過慢查詢日誌發現有問題的SQL?

1. 查詢次數多且每次查詢佔用時間長的SQL

#通常為pt-query-digest分析的前幾個查詢

2.IO大的SQL

注意pt-query-digest分析中的Rows examine項目

3.未命中索引的SQL   

注意pt-query-digest分析中Rows examine 和Rows Send對比

相關推薦:

##mac使用終端機運行mysql,mysql終端,mysql mac, mysql目錄,mysql路徑,macmysql

Mysql分割區|mysql分割區表|mysql partition|by range#

以上是如何理解MySQL資料庫的最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn