MySql資料庫優化(1)

2021-09-21 01:33:02 字數 2636 閱讀 8371

目錄

mysql資料庫優化

資料庫優化的目的

資料庫優化入手方面

學習使用的資料庫

資料庫開啟慢查詢日誌 配置

慢日誌包含的內容

如何檢視mysql日誌

mysqldumpslow

pt-query-digest

如何通過慢查日誌發現有問題的sql?

如何分析sql查詢?

count()和max()的優化方法

max()優化方法

count()優化方法

sakila樣例資料庫***租賃業務流程解讀

sakila資料庫主要描述了***租賃系統的業務流程,這裡列舉其中的關鍵點解讀該流程如何執行:

這裡簡單通過以下語句來簡單了解以下檢視日誌的過程。

上面就是對mysql的慢日誌的相關配置,接下來我們只要執行乙個查詢語句,並且查詢時長超過1秒,就可以在日誌檔案中檢視到相關的記錄。

這篇部落格有著詳細的mysqldumpslow的使用語法:

它所查詢出來的內容簡單的分為三個部分:

這些分析工具可以大大的減少我們工作中對mysql慢日誌的分析。

io大的sql

未命中索引的sql

使用explain查詢sql的執行計畫(資料庫語句的執行都是先分析,後執行)

max通常被使用於查詢最大的或者最後的操作,比如查詢出最後的支付時間。

這裡是執行結果,那麼我們怎麼進行優化呢?

mysql> explain select max(payment_date) from payment \g

*************************** 1. row ***************************

id: 1

select_type: ******

table: payment//目標表

partitions: null //沒有索引

type: all //全表掃瞄

possible_keys: null

key: null

key_len: null

ref: null

rows: 16086 //查詢行數

filtered: 100.00 //過濾

新增索引

mysql> create index idx_paydate on payment(payment_date);

query ok, 0 rows affected (0.04 sec)

records: 0 duplicates: 0 warnings: 0

建立索引後的執行結果

mysql> explain select max(payment_date) from payment \g

*************************** 1. row ***************************

id: 1

select_type: ******

table: null

partitions: null

type: null

possible_keys: null

key: null

key_len: null

ref: null

rows: null

filtered: null

extra: select tables optimized away

1 row in set, 1 warning (0.00 sec)

//這時我們可以清楚的看到執行時間大大的縮短了

count(列名)和count(*)是不一樣的。

列名:如果這一列有空值,那麼結果是不會包含空值的。

*:表中具體的行數。

上面的語句使用count(列名的特性),如果列名是2006/2007,那麼就進行計數,如果不是,那麼就判定為空,不進行計數。利用好這個特性,對我們的sql邏輯的實現很有幫助。

感謝瀏覽,希望對你有所幫助。

mysql資料庫優化 1 提綱

應用程式架構中 lamp lnmp 最慢的一環 都是資料庫 php 業務邏輯程式都是相似的 不會隨著資料的增加而變得更加複雜 mysql,來說,資料是不斷的增加的,同樣的運算,隨著資料的增加而變慢!如何提公升資料庫的效率?通常需要從 個方面考慮 l 設計方面 儲存引擎的選擇,字段型別的選項,實體間的...

資料庫優化 1

1 乙個好的 要想資料查詢達到很好的效果,資料庫 設計是最基礎也是最重要的 工作 資料庫設計是要遵循一定規則的,即當資料庫設計正規化,資料庫設計正規化包括第一正規化 第二正規化 第三正規化 第四正規化 第五正規化和第六正規化。不過一般資料庫只要滿足第 一 第二和第三正規化就足夠了。在建立乙個資料庫的...

mysql資料庫優化索引 mysql資料庫索引調優

一 mysql索引 1 磁碟檔案結構 innodb引擎 frm格式檔案儲存表結構,ibd格式檔案儲存索引和資料。myisam引擎 frm格式檔案儲存表結構,myi格式檔案儲存索引,myd格式檔案儲存資料 2 mysql資料庫資料範問原理 innodb btree 1 ibd檔案中主鍵構建b tree...