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

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

開發(fā) 前端
MySQL提供了內(nèi)建的耗時查詢?nèi)罩尽J褂们埃蜷_my.cnf文件,將slow_query_log設(shè)置為"On"。 同時將long_query_time設(shè)置為一個對一次查詢來說比較慢的時間(秒數(shù)),比如0.2。slow_query_log_file設(shè)置為你想保存日志文件的路徑。然后運(yùn)行代碼,執(zhí)行時間超過設(shè)定上限的查詢將會被記錄到日志中。

在進(jìn)行性能分析前,需要先定位耗時查詢。

MySQL提供了內(nèi)建的耗時查詢?nèi)罩尽J褂们埃蜷_my.cnf文件,將slow_query_log設(shè)置為"On"。 同時將long_query_time設(shè)置為一個對一次查詢來說比較慢的時間(秒數(shù)),比如0.2。slow_query_log_file設(shè)置為你想保存日志文件的路徑。然后運(yùn)行代碼,執(zhí)行時間超過設(shè)定上限的查詢將會被記錄到日志中。

[[190798]]

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

 

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

 

結(jié)果是對數(shù)據(jù)訪問過程的解析。每行代表一個查詢相關(guān)的數(shù)據(jù)表:

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

重點是表名、使用的key、查詢執(zhí)行時所掃描的行數(shù)。

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

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

 

索引

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

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

  1. ALTER TABLE picture ADD INDEX(album_id); 

 

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

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

 

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

  1. ALTER TABLE album ADD INDEX(user_id); 

 

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

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

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

責(zé)任編輯:未麗燕 來源: 開源
相關(guān)推薦

2017-05-11 11:30:43

MySQL查詢速度

2021-05-12 11:19:08

DevTools堆棧追蹤

2020-02-28 09:26:54

PythonGo語言C語言

2012-11-23 17:20:43

Linux服務(wù)器

2014-04-01 09:52:46

MySQL

2013-02-22 09:36:32

ImpalaHadoop大數(shù)據(jù)Cloudera

2017-10-20 10:09:01

代碼CocoaPods編譯

2018-07-30 15:05:26

Hadoop大數(shù)據(jù)集群

2020-11-25 10:42:57

Python代碼工具

2025-02-24 08:24:39

2014-09-01 09:49:24

github

2022-05-11 17:21:05

Btrfs文件系統(tǒng)Fedora

2021-08-31 08:32:40

開源項目開發(fā)

2009-03-29 09:47:24

蘋果Iphone移動OS

2024-04-10 08:00:00

PostgresNoSQL

2020-07-16 07:00:00

惡意軟件域名惡意網(wǎng)站

2009-12-24 09:30:38

Opera性能測試

2021-12-27 06:57:40

Maven工具性能

2016-12-08 17:14:03

數(shù)據(jù)庫性能
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久国产香蕉 | 亚洲第一福利网 | 蜜桃毛片 | 色吧久久 | 国产成人久久精品一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 永久精品 | 日韩理论电影在线观看 | 91成人在线| 国产区视频在线观看 | 国产乱码精品一区二区三区中文 | 亚洲成人综合社区 | a级毛片基地 | 精品一区二区三区中文字幕 | 天天射天天干 | 黄色片免费看视频 | 国产精品亚洲精品久久 | 91视频在线观看免费 | 国产97视频在线观看 | 亚洲综合无码一区二区 | 久久久福利| 美女啪啪国产 | 国产一区二区免费 | 亚洲精品成人在线 | 高清18麻豆| 色精品| 亚洲资源在线 | 91在线免费视频 | 亚洲国产成人精品女人久久久 | 亚洲看片网站 | 毛片网站在线观看视频 | 亚洲丝袜天堂 | 中文字幕av高清 | 人人cao| 91香蕉| 欧美一区精品 | 黄色三级在线播放 | 亚洲欧美在线观看视频 | 偷派自拍 | 久久中文高清 | 欧美99久久精品乱码影视 |