mysql的介面怎麼優化 Mysql優化

2021-10-18 11:46:35 字數 1672 閱讀 5033

mysql優化

1、為什麼要對資料庫進行優化?

1.1、避免出現頁面訪問錯誤

由於資料庫連線timeout產生頁面5xx的錯誤

由於慢查詢造成頁面無法載入

由於阻塞造成資料無法提交

1.2、增加資料庫的穩定性

很多資料庫問題都是由於低效的查詢引起的

1.3、優化使用者的體驗

流暢頁面的訪問速度

良好的**功能體驗

2、資料庫的優化可以從以下幾個方面

2.1、sql以及索引

2.2、資料庫表結構

2.3、系統配置

2.4、硬體

3、sql以及索引的優化

3.1、慢查詢日誌的常用sql

是否開啟慢查詢日誌,有兩個值off/on。

show variables like 'slow_query_log'

設定是否開啟慢查詢。

set global slow_query_log = on

檢視日誌檔案的狀態

show variables like '%log%'

設定開啟未使用索引的查詢

set global log_queries_not_using_indexes=on

檢視慢查詢的設定時間,預設為10秒;設定慢查詢的時間為1s

show variables like 'long_query_time'

set long_query_time = 1

3.2、慢查詢日誌的儲存格式

執行該sql的時間

# time:2018-09-17t07:18:02.492417z

執行該條sql的主機資訊

#user@host: root[root] @ localhost [127.0.0.1] id: 26該條sql的執行資訊

# query_time:0.002000 lock_time: 0.000000 rows_sent: 356 rows_examined: 712該條sql的執行時間set timestamp=1537168682;

該條sql的內容select * from t_user limit 6;

3.3、使用explain來執行sql的執行計畫

expalain返回各列的含義:

table:顯示這一行的資料是關於哪張表的

type:這是最重要的列,顯示連線使用了何種型別。從最好到最差的連線型別為const、eq_reg、ref、range、index和all。

possible_keys:顯示可能應用在這張表中的索引。如果為null,沒有可能的索引。

key:實際使用的索引。如果為null,沒有使用索引。

key_len:使用的索引的長度,在不損失精度的情況下,長度越短越好。

ref:顯示索引的那一列被使用了,如果可能的話是乙個常數。

rows:mysql認為必須檢查的用來返回請求資料的行數。

extra:extra列需要注意的返回值。

using filesort:看到這個的時候查詢就需要優化了,

using temporary:看到這個的時候查詢就需要優化了。mysql需要建立乙個臨時表來儲存結果,這通常發生在不同的列集進行order by上,而不是group by上。

mysql的介面怎麼優化 Mysql常用的優化技巧

1.通過show status 命令了解各種sql的執行效率 2.定位執行效率較低的sql語句 開啟慢查詢記錄 開啟mysql配置檔案my.ini 找到 mysqld 在其下面新增 long query time 2 慢查詢時間 log slow queries e mysql logs log.l...

mysql怎麼優化 MYSQL如何優化?

mysql如何優化?結合你的經驗 1.資料庫的設計 盡量把資料庫設計的更小的佔磁碟空間.1 盡可能使用更小的整數型別.mediumint就比int更合適 2 盡可能的定義欄位為not null,除非這個字段需要null.3 如果沒有用到變長字段的話比如varchar,那就採用固定大小的紀錄格式比如c...

介面效能優化怎麼做?

後記想象一下以下幾個場景 我們在獲取乙個使用者詳情介面時,刷了無數次,瀏覽器就在那轉圈,硬是刷不出來,開啟控制台,顯示介面超時 假如我們服務a有個批量發營銷簡訊的任務,服務a用批量的userid調服務b的使用者服務以獲取使用者的手機號,從而完成簡訊傳送功能。奈何服務b的通過userid介面獲取使用者...