欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單談?wù)凪ySQL優(yōu)化利器-慢查詢

 更新時間:2017年01月09日 08:43:51   作者:狼騎舞者  
分析MySQL語句查詢性能的方法除了使用 EXPLAIN 輸出執(zhí)行計劃,還可以讓MySQL記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱為“慢查詢”

慢查詢

首先,無論進(jìn)行何種優(yōu)化,開啟慢查詢都算是前置條件。慢查詢機(jī)制,將記錄過慢的查詢語句(事件),從而為DB維護(hù)人員提供優(yōu)化目標(biāo)。

檢查慢查詢是否開啟

通過show variables like 'slow_query_log'這條語句,可以找到慢查詢的狀態(tài)(On/Off)。

開啟慢查詢

本文使用的MySQL版本:MariaDB - 10.1.19,請注意,不同版本的MySQL存在差異。

在[mysqld]下加入:

[mysqld]
port= 3306

slow-query-log=1 # 慢查詢:確認(rèn)開啟
slow-query-log-file="D:/xampp/mysql/log/mysql-slow.log" # 慢查詢:日志文件及路徑
long_query_time = 5 # 慢查詢:指定超過5s仍未完成的語句,為執(zhí)行過慢的語句

優(yōu)化步驟

觀察日志,鎖定需要優(yōu)化的目標(biāo)語句。注意SQL的設(shè)置,譬如:SQL_NO_CACHE

關(guān)注復(fù)雜語句寫法。復(fù)雜語句本身具備高自由度,再加上SQL語法的特殊性,導(dǎo)致了不同的寫法的同功能復(fù)雜語句,可能具備云泥之別的效率。

明確應(yīng)用場景,盡管我們在各種場合都有原則,但實際上,如果能夠明確應(yīng)用場景,我們能夠針對當(dāng)前情況,做出本地化的高效優(yōu)化。

無法優(yōu)化的語句,當(dāng)我們通過上述兩種方法,以及更多未被本文提及的優(yōu)化方法之后,可能還是會面對優(yōu)化失敗的情況。業(yè)務(wù)層面不做出修正的話,數(shù)據(jù)層面的確是無力可使。

結(jié)語

當(dāng)打出“無法優(yōu)化”的時候,不禁想到了我所喜愛的游戲設(shè)計行業(yè)。

如果你了解一二,就會發(fā)現(xiàn),游戲設(shè)計中,其實有相當(dāng)多的優(yōu)秀設(shè)計,但大多數(shù)都困窘于當(dāng)時當(dāng)?shù)氐募夹g(shù)水平,而無法實現(xiàn)多彩紛呈的游戲設(shè)計。

也還記得去年做UI的朋友跟我吐槽:我就怕我設(shè)計的出來,很炫酷或者很人文,可前端根本實現(xiàn)不了那種設(shè)計。

相關(guān)文章

  • MySQL 查詢速度慢的原因

    MySQL 查詢速度慢的原因

    高性能MySQL需要合理的設(shè)計查詢。如果查詢寫的很糟糕,即使表結(jié)構(gòu)再合理、索引再合適,也是無法實現(xiàn)高性能的。
    2021-05-05
  • MySQL的索引和復(fù)合索引的實現(xiàn)

    MySQL的索引和復(fù)合索引的實現(xiàn)

    在數(shù)據(jù)庫中,索引是一種特殊的數(shù)據(jù)結(jié)構(gòu),它可以幫助我們快速地查詢和檢索數(shù)據(jù),本文主要介紹了MySQL的索引和復(fù)合索引的實現(xiàn),感興趣的可以了解一下
    2023-11-11
  • mysql使用教程之分區(qū)表的使用方法(刪除分區(qū)表)

    mysql使用教程之分區(qū)表的使用方法(刪除分區(qū)表)

    mysql分區(qū)表使用方法,新增分區(qū)、刪除分區(qū)、分區(qū)的合并、分區(qū)的拆分等使用方法
    2013-12-12
  • 解析MySQL?join查詢的原理

    解析MySQL?join查詢的原理

    這篇文章主要介紹了MySQL?join查詢的原理,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟

    Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟

    大家好,本篇文章主要講的是Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟,感興趣的同學(xué)快來看一看吧,希望對你起到幫助
    2021-11-11
  • MySQL5.7中的JSON基本操作指南

    MySQL5.7中的JSON基本操作指南

    這篇文章主要給大家介紹了關(guān)于MySQL5.7中JSON的基本操作,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • MySQL主鍵自增會遇到的坑及解決方法

    MySQL主鍵自增會遇到的坑及解決方法

    主鍵不用隨機(jī)字符串用什么?主鍵自增?主鍵自增就是最佳方案嗎?有沒有其他坑?今天我們就來討論下這個話題,感興趣的小伙伴可以收藏一下
    2023-04-04
  • MySQL Shell import_table數(shù)據(jù)導(dǎo)入的實現(xiàn)

    MySQL Shell import_table數(shù)據(jù)導(dǎo)入的實現(xiàn)

    這篇文章主要介紹了MySQL Shell import_table數(shù)據(jù)導(dǎo)入的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • MySQL數(shù)據(jù)庫中表的操作詳解

    MySQL數(shù)據(jù)庫中表的操作詳解

    這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫中表常用的一些操作方法,文中的示例代碼講解詳細(xì),?對我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下
    2022-08-08
  • 刪除MySQL重復(fù)數(shù)據(jù)的方法

    刪除MySQL重復(fù)數(shù)據(jù)的方法

    這篇文章主要介紹了刪除MySQL重復(fù)數(shù)據(jù)的方法,通過建立中間表實現(xiàn)針對冗余數(shù)據(jù)的刪除功能,非常具有實用價值,需要的朋友可以參考下
    2014-12-12

最新評論