真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何提升MySQL的查詢速度

這篇文章主要介紹“如何提升MySQL的查詢速度”,在日常操作中,相信很多人在如何提升MySQL的查詢速度問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何提升MySQL的查詢速度”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)是一家專業(yè)提供宿遷企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站制作、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為宿遷眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

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

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

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

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

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

如何提升MySQL的查詢速度

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

如何提升MySQL的查詢速度

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

索引

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

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

ALTER TABLE picture ADD INDEX(album_id);

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

如何提升MySQL的查詢速度

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

ALTER TABLE album ADD INDEX(user_id);

如何提升MySQL的查詢速度

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

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

到此,關(guān)于“如何提升MySQL的查詢速度”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
新聞名稱:如何提升MySQL的查詢速度
本文鏈接:http://weahome.cn/article/psppsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部