成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL數據優化總結-查詢備忘錄

數據庫 MySQL
參考mysql官方的sakina數據庫,使用mysql慢查詢日志對有效率問題的sql進行監控,教你如何通過慢查日志發現有問題的sql。

一、優化分類

MySQL數據優化總結-查詢備忘錄

 

二、測試數據樣例

參考mysql官方的sakina數據庫。

三、使用mysql慢查詢日志對有效率問題的sql進行監控

MySQL數據優化總結-查詢備忘錄

 

***個,開啟慢查詢日志。第二個,慢查詢日志存儲位置。第三個,沒有使用索引的也會記錄到慢查詢日志中。第四個,超過1秒之后的查詢記錄到慢查詢日志中(通常設置100ms)。

3.1、分析慢查詢日志文件

3.1.1 tail命令

tail -50 /home/mysql/sql_log/mysql_slow.log,輸入文件中的尾部內容,即末尾50行數據.

我們抽出其中一條,查看,如下圖所示。

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

 

query_time,查詢耗時(單位秒);lock_time,鎖表時間。rows_sent,發送請求的行數;rows_examined,查詢數據導致掃描表用到的行數。

3.1.2 官方mysqldumpslow工具

mysqldumpslow ,默認隨mysql安裝。

mysqldumpslow -h,可查詢工具支持的命令。

MySQL數據優化總結-查詢備忘錄

 

mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log | more ,返回結果如下圖所示。

MySQL數據優化總結-查詢備忘錄

 

3.1.3 pt-query-digest工具

比mysqldumpslow反饋的信息多。

MySQL數據優化總結-查詢備忘錄

 

pg-query-digest --help 查看幫助,查看使用命令。

pg-query-digest /var/lib/mysql/localhost-slow.log,查詢結果如下。

MySQL數據優化總結-查詢備忘錄

***部分

MySQL數據優化總結-查詢備忘錄

第二部分

MySQL數據優化總結-查詢備忘錄

第三部分

四、如何通過慢查日志發現有問題的sql

MySQL數據優化總結-查詢備忘錄

 

五、通過explain查詢和分析sql的執行計劃

MySQL數據優化總結-查詢備忘錄

 

const常數查找,一般來說,針對主鍵和唯一索引;eq_reg,一般主鍵或是唯一索引范圍查找;ref,常見于連接查詢中;range,對于索引的范圍查找;

index,對于索引的掃描;all,表掃描。

MySQL數據優化總結-查詢備忘錄

 

六、count()和max()的優化

MySQL數據優化總結-查詢備忘錄

 

1、max()優化

在payment_date上建立索引

MySQL數據優化總結-查詢備忘錄

建索引后的查詢結果

可以看出,直接通過索引結構,就能查詢出***日期。覆蓋索引,是指完全可以通過索引獲得查詢結果。

2、count()優化

count(*)包含null值,count(id)不包含

錯誤寫法:

MySQL數據優化總結-查詢備忘錄

 

正確寫法:

MySQL數據優化總結-查詢備忘錄

 

七、子查詢的優化

一對多的子查詢,注意dinstinct

MySQL數據優化總結-查詢備忘錄

 

八、group by的優化

MySQL數據優化總結-查詢備忘錄

優化前

MySQL數據優化總結-查詢備忘錄

優化前

MySQL數據優化總結-查詢備忘錄

優化后

MySQL數據優化總結-查詢備忘錄

優化后

MySQL數據優化總結-查詢備忘錄

優化后,減少io,提高效率,節省服務器資源

靈活使用子查詢和連接查詢

、limit查詢的優化

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

缺點:分頁limit越往后,掃描行數越多,io操作越大

MySQL數據優化總結-查詢備忘錄

缺點:id連續。主鍵連續增長,分頁查詢更快

十、如何選擇合適的列建立索引

MySQL數據優化總結-查詢備忘錄

 

如果是覆蓋索引,可直接從索引結構中獲取數據,這樣最快;索引字段越小,數據庫數據存儲以頁為單位,每次io所獲取的數據量就大。

通過select count(dinstinct customer_id)查看離散度。離散度大的列,可選擇性越高。

十一、索引優化SQL的方法

索引提高查詢,但是會影響inset,update,delete。

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

 

4、數據庫表結構優化

4.1 選擇合適的數據類型

MySQL數據優化總結-查詢備忘錄

時間類型上,時間戳和int占用字節相同;not null需要額外字段存儲,

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

bigint8個字節,varchar15個字節

4.2 數據庫的范式化優化

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

 

4.4表的垂直拆分

MySQL數據優化總結-查詢備忘錄

例如,將新聞表的內容拆分到單獨一個表

4.5 表的水平拆分

MySQL數據優化總結-查詢備忘錄

 

MySQL數據優化總結-查詢備忘錄

前臺用拆分后的表,后臺用匯總表

總結的很隨意,純粹方便查看知識點 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2013-08-29 10:50:48

移動網站性能優化移動web

2025-02-17 14:48:14

2018-12-24 21:40:12

2014-04-17 10:30:41

Linux 命令黑白備忘錄

2023-10-10 15:26:30

內存泄露OOM

2017-03-21 11:02:59

基礎深度學習備忘錄

2011-08-16 18:38:23

Core Animat動畫

2011-04-11 10:03:32

錢伯斯思科

2020-11-02 10:41:33

備忘錄模式

2016-03-03 10:09:26

2022-08-01 13:59:04

數據庫通信ArkUI

2021-03-08 00:12:44

Grid 備忘錄 函數

2011-12-07 09:19:49

JavaJ2MEBicaVM

2009-08-14 15:50:45

C#正則表達式

2009-06-17 16:54:27

MySpace備忘錄裁員

2011-08-31 10:34:47

JavaJava備忘錄

2023-12-31 12:05:42

Markdown語法鏈接

2022-04-07 08:00:00

Javascript開發

2023-10-31 09:07:16

備忘錄模式保存

2023-10-07 00:14:53

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品无码网站 | 日韩av成人在线 | 欧美成人h版在线观看 | 三级黄色片在线观看 | 操人网| 天天色图| 尤物在线视频 | 成人激情视频网 | 欧美激情精品久久久久久变态 | 亚洲精品成人网 | 一区二区三区在线 | 久久久久久国产精品免费免费狐狸 | av网站在线看 | 热99在线 | 精品国产91 | 成人在线视频免费观看 | 激情久久av一区av二区av三区 | 亚洲一区二区三区在线视频 | 欧美精品在线播放 | 午夜码电影 | 一区二区三区国产精品 | 久久国产秒 | 国产毛片av| 一区二区三区四区五区在线视频 | 国产精品视频一区二区三区四区国 | 国产精品久久久久久久久久99 | 亚州无限乱码 | 亚洲视频在线观看 | av在线三级| 国产精品久久久久久久久久免费看 | 日日操操 | 国产精品久久久久久婷婷天堂 | 亚洲视频在线看 | 成人a在线观看 | 亚洲精品在线看 | 亚洲精品久久久久久首妖 | 在线成人 | 国产美女免费视频 | 成人久久久 | 国产自产c区 | 请别相信他免费喜剧电影在线观看 |