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

如何將MySQL查詢速度提升300倍

運維 數據庫運維
MySQL提供了內建的耗時查詢日志。使用前,打開 my.cnf 文件,將slow_query_log 設置為”On”,同時將 long_query_time設置為一個對一次查詢來說比較慢的時間(秒數),比如 0.2。slow_query_log_file設置為你想保存日志文件的路徑,然后運行代碼。

在進行性能分析前,需要先定位耗時查詢。

MySQL 提供了內建的耗時查詢日志。使用前,打開 my.cnf 文件,將slow_query_log 設置為”On”。 同時將 long_query_time 設置為一個對一次查詢來說比較慢的時間(秒數),比如 0.2。slow_query_log_file 設置為你想保存日志文件的路徑。然后運行代碼,執行時間超過設定上限的查詢將會被記錄到日志中。

一旦定位這些煩人的查詢,就可以探究慢的原因。MySQL提供了EXPLAIN關鍵字。可以與SELECT、DELETE、INSERT、REPLACE、UPDATE語句一起使用。只需要如下一樣添加到查詢開始處:

  1. EXPLAIN SELECT picture.id, picture.title 
  2.  
  3. FROM picture 
  4.  
  5. LEFT JOIN album ON picture.album_id = album.idWHERE album.user_id = 1; 

 

結果是對數據訪問過程的解析。每行代表一個查詢相關的數據表:

 

重點是表名、使用的key、查詢執行時所掃描的行數。

 

這個查詢掃描了picture表2百萬行,對每個picture記錄掃描了album表2萬行。意味著,該查詢實際掃描了album表400億行。這個過程可以更高效。

索引

使用索引,可以極大提升性能。比如地址簿中的名字。找一個名字,你可以從頭翻到尾,也可以找到相應的字符標簽頁來快速定位。

使用索引可以避免無必要的表掃描。比如在picture.album_id上添加索引:

  1. ALTER TABLE picture ADD INDEX(album_id); 

現在執行查詢,就不會掃描整個picture列表了。首先,所有的album表會被掃描以找到屬于該用戶的album,然后,使用album_id列索引快速定位對應的picture。掃描的行數減少到了20萬,比原始查詢快了317倍。

 

按照以下方式添加索引可以確保兩張表都能使用對應鍵:

  1. ALTER TABLE album ADD INDEX(user_id); 

 

這次,album表不會被全部掃描,通過user_id鍵就可以精確定位相應的album。然后這100個album被掃描后,通過album_id鍵相關的picture也可以快速找到。每張表都用到了一個鍵進行查詢性能優化,結果比原始查詢快了380倍。

但是并不意味著可以隨意添加索引,因為索引會導致寫數據庫用時增長。所以使用索引導致讀用時縮短,寫用時增長。因此,如果能提升讀性能時再添加索引。使用EXPLAIN來確認索引是否被查詢用到,沒有就刪除。

責任編輯:龐桂玉 來源: 數據庫開發
相關推薦

2017-05-10 16:09:12

MySQL數據庫查詢

2020-02-28 09:26:54

PythonGo語言C語言

2021-05-12 11:19:08

DevTools堆棧追蹤

2017-10-20 10:09:01

代碼CocoaPods編譯

2018-07-30 15:05:26

Hadoop大數據集群

2014-04-01 09:52:46

MySQL

2025-02-24 08:24:39

2023-09-12 12:14:05

Python程序矢量化

2009-03-29 09:47:24

蘋果Iphone移動OS

2024-04-10 08:00:00

PostgresNoSQL

2009-12-24 09:30:38

Opera性能測試

2013-02-22 09:36:32

ImpalaHadoop大數據Cloudera

2012-11-07 15:57:34

OSSECMYSQL

2024-10-29 08:21:05

2024-11-15 09:41:03

2024-01-19 13:41:00

AI模型

2024-11-13 09:29:41

SpringCRaCCRIU

2024-03-19 14:43:17

自動駕駛激光

2019-07-29 20:01:53

量子計算機芯片超算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 青青草亚洲| 黄色网一级片 | 国产91在线播放精品91 | 欧美日韩国产在线 | 久久极品| 蜜桃视频在线观看免费视频网站www | 黑人巨大精品欧美一区二区免费 | 日韩精品免费在线观看 | 亚洲视频二区 | 日韩av在线一区二区三区 | av在线视| 欧美精品在线一区 | 亚洲视频精品 | 一区二区三区欧美 | 成人不卡一区二区 | 国产精品久久久久久 | 亚洲免费片| 国产国产精品 | 中文字幕免费中文 | 欧美区在线 | 在线免费观看黄色av | 在线亚洲欧美 | 综合久久av| 国产一区二区三区免费 | 欧美亚洲视频 | 国产综合av | 夜夜爽99久久国产综合精品女不卡 | 中文字幕 国产精品 | 国产精品mv在线观看 | 中文二区 | 日韩一级免费电影 | 天天看夜夜 | 亚洲视频观看 | 国产欧美精品一区二区三区 | 国产欧美一区二区精品忘忧草 | 一本大道久久a久久精二百 欧洲一区二区三区 | 国产精品一区久久久 | 成人在线视频一区 | 亚洲国产精品人人爽夜夜爽 | 国产毛片毛片 | 国产区精品|