国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做app網(wǎng)站制作上海牛巨微網(wǎng)絡(luò)科技有限公司

做app網(wǎng)站制作,上海牛巨微網(wǎng)絡(luò)科技有限公司,神木網(wǎng)站設(shè)計(jì)公司,北京網(wǎng)站建設(shè)天下公司在上篇文章我們學(xué)習(xí)了MySQL進(jìn)階——存儲引擎,這篇文章學(xué)習(xí)MySQL進(jìn)階——SQL性能分析。 SQL性能分析主要是從SQL語句執(zhí)行頻率、耗時時間、CPU使用情況和執(zhí)行時表連接情況進(jìn)行分析,常用的方法工具有:SQL執(zhí)行頻率、慢查詢?nèi)罩?、profile詳情和ex…

在上篇文章我們學(xué)習(xí)了MySQL進(jìn)階——存儲引擎,這篇文章學(xué)習(xí)MySQL進(jìn)階——SQL性能分析。

SQL性能分析主要是從SQL語句執(zhí)行頻率、耗時時間、CPU使用情況和執(zhí)行時表連接情況進(jìn)行分析,常用的方法工具有:SQL執(zhí)行頻率、慢查詢?nèi)罩?、profile詳情和explain執(zhí)行計(jì)劃。

SQL執(zhí)行頻率

通過show [session|global] status命令可以提供服務(wù)器狀態(tài)信息,通過如下命令,可以查看當(dāng)前數(shù)據(jù)庫的增刪改查的訪問頻率:

SHOW?GLOBAL?STATUS?LIKE?'Com_______';

其中:一個‘_’表示一個字符。

運(yùn)行結(jié)果如下:

慢查詢?nèi)罩?/h3>

通過SQL執(zhí)行頻率,我們可以發(fā)現(xiàn)增數(shù)據(jù)的SQL語句執(zhí)行頻率更多,但無法知道哪條SQL語句執(zhí)行情況。

慢查詢?nèi)罩居涗浟怂袌?zhí)行時間超過指定參數(shù)(long_query_time,單位:秒,默認(rèn)10秒)的所有SQL語句的日志。

執(zhí)行如下命令查看是否開啟慢查詢?nèi)罩?#xff0c;

show?variables?like?'slow_query_log';

如下圖所示:

配置文件開啟

默認(rèn)情況下,MySQL的慢查詢?nèi)罩臼顷P(guān)閉的,我們可以在MySQL的配置文件(/etc/my.cnf)添加如下命令開啟慢查詢?nèi)罩?#xff0c;

slow_query_log=1??#?開啟慢查詢?nèi)罩?long_query_time=2??#?設(shè)置慢查詢?nèi)罩镜臅r間為2秒,SQL語句執(zhí)行超過2秒,就視為慢查詢,記錄慢查詢?nèi)罩?

如下圖所示:

注意:如果是在docker安裝的mysql,需要先執(zhí)行如下命令,進(jìn)入MySQL容器內(nèi)部再在MySQL配置文件中添加開啟慢查詢?nèi)罩敬a。

docker?exec?-it?容器ID??/bin/bash

在/etc/my.cnf文件添加如下圖代碼:

配置完成后需要重啟MySQL服務(wù)器。

查看慢查詢?nèi)罩鹃_啟,如下圖所示:

SQL命令開啟

當(dāng)然我們也可以通過在mysql中執(zhí)行如下命令,開啟慢查詢?nèi)罩?#xff0c;

set?global?slow_query_log?=?ON;
set?global?slow_launch_time?=?3;
show?variables?like?'slow%';

如下圖所示:

注意:這種開啟方式不是永久開啟慢查詢?nèi)罩?#xff0c;只要MySQL重啟了,慢查詢?nèi)罩揪蜁P(guān)閉。

示例

當(dāng)我們執(zhí)行了SQL語句而操作時長超過2秒,就會記錄慢查詢,這里我們執(zhí)行了刪除UserTable表操作,大概用了10秒,慢日志如下圖所示:

在日志中,我們可以看到執(zhí)行日期、時長、用戶、IP、數(shù)據(jù)庫和SQL語句等相關(guān)信息。

profile詳情

在慢查詢?nèi)罩局?#xff0c;我們只能獲取超過設(shè)置的時間SQL語句信息,例如設(shè)置的時長為2秒,那么只能獲取超過2秒的SQL語句信息,執(zhí)行了1.99秒的SQL語句無法獲取,這時我們就可以使用profie詳情。

profiles詳情能夠在做SQL優(yōu)化時幫助我們了解時間都耗費(fèi)到哪里去了。

首先通過have_profiling參數(shù),查看當(dāng)前MySQL是否支持profile操作:

SELECT?@@have_profiling;

如下圖所示:

接著執(zhí)行如下代碼查看profile是否開啟,

SELECT?@@profiling;???#?查看是否開啟
SET?profiling=1;???#?開啟profile

如下圖所示:

接下來我們就可以使用show profiles命令查看SQL語句詳情的執(zhí)行時間了,如下圖所示:

這樣我們就可以查看每條SQL語句的耗時情況,我們可以通過上面的Query_ID詳細(xì)地查看SQL語句各階段的耗時情況、CPU使用情況,可以執(zhí)行如下代碼:

#?show?profile?for?query?Query_ID;???#?查看SQL語句各階段的耗時情況
#?show?profile?cpu?for?query?Query_ID;??#?查看SQL語句CPU使用情況

如下圖所示:

explain執(zhí)行計(jì)劃

在上面的SQL性能分析中,我們只能獲取到SQL語句的頻率和耗時時間,無法知道SQL語句的執(zhí)行過程中的表連接情況,這時我們可以通過explain或desc命令來查看SQL語句的執(zhí)行過程中的表連接情況,其使用方法如下:

explain/desc?SQL語句;

如下圖所示:

其中:

  • ID:select查詢的序列號,表示查詢中執(zhí)行select子句或者操作表的順序,ID相同,執(zhí)行順序從上到下,ID不同,值越大,越先執(zhí)行;

  • select_type:SELECT的類型,常見的取值有SIMPLE(簡單表,即不使用表連接或者子查詢)、PRIMARY(主查詢,即外層的查詢)、UNION(UNION 中的第二個或者后面的查詢語句)、SUBOUERY(SELECT/WHERE之后包含了子查詢);

  • type:連接類型,性能由好到差的類型為:NULL、system、const、eq_ref、range、index、all;

  • possible_keys:可能用到的索引,一個或多個;

  • key:實(shí)際使用的索引,如果為NULL,則沒有使用索引;

  • Key_len:表示索引中使用的字節(jié)數(shù),該值為索引字段最大可能長度,并非實(shí)際使用長度,在不損失精確性的前提下,長度越短越好;

  • rows:MySQL認(rèn)為必要執(zhí)行查詢的行數(shù),在innodb引擎的表中,是一個估計(jì)值,可能并不總是準(zhǔn)確的;

  • filtered:返回結(jié)果的行數(shù)占需讀取行數(shù)的百分比,filtered的值越大越好;

好了,SQL性能分析就講到這里了。

公眾號:白巧克力LIN

該公眾號發(fā)布Python、數(shù)據(jù)庫、Linux、Flask、Django、自動化測試、Git、算法、前端、服務(wù)器等相關(guān)文章!

- END -

http://aloenet.com.cn/news/45394.html

相關(guān)文章:

  • wordpress動靜分離cdn深圳網(wǎng)站設(shè)計(jì)專業(yè)樂云seo
  • 石家莊學(xué)做網(wǎng)站建設(shè)培訓(xùn)學(xué)校百度關(guān)鍵詞優(yōu)化點(diǎn)擊 教程
  • 網(wǎng)站站內(nèi)鏈接奉化首頁的關(guān)鍵詞優(yōu)化
  • 鄭州專門做網(wǎng)站的公司seo百度關(guān)鍵字優(yōu)化
  • 畢業(yè)設(shè)計(jì)代做淘寶好還是網(wǎng)站好免費(fèi)注冊
  • 網(wǎng)絡(luò)公司+網(wǎng)站建設(shè)+小程序百度企業(yè)官網(wǎng)
  • 承接各類網(wǎng)站建設(shè)關(guān)鍵詞排名代發(fā)
  • 如何建立微網(wǎng)站詳細(xì)步驟廣東公司搜索seo哪家強(qiáng)
  • 佛山新網(wǎng)站制作怎么樣抖音優(yōu)化是什么意思
  • 安徽專業(yè)網(wǎng)站建設(shè)大全推薦寧波seo排名費(fèi)用
  • 公司網(wǎng)站服務(wù)器托管東莞網(wǎng)站排名推廣
  • 企業(yè)網(wǎng)站哪里可以做江西seo推廣方案
  • 煙臺市委網(wǎng)站企業(yè)網(wǎng)站的推廣方法有哪些
  • 酒店為什么做網(wǎng)站軟件外包公司有前途嗎
  • 網(wǎng)站安全檢測軟件網(wǎng)絡(luò)銷售公司怎么運(yùn)作
  • 鄭州易站通網(wǎng)站公司企業(yè)培訓(xùn)的目的和意義
  • 專業(yè)網(wǎng)站制作團(tuán)隊(duì)專業(yè)網(wǎng)站制作團(tuán)隊(duì)友博國際個人中心登錄
  • 源碼站搜索引擎優(yōu)化的基本原理
  • 做眾籌網(wǎng)站需要什么條件以服務(wù)營銷出名的企業(yè)
  • 鄭州注冊公司網(wǎng)站視頻seo優(yōu)化教程
  • 德州極速網(wǎng)站建設(shè)百家號專業(yè)培訓(xùn)心得體會
  • 覺 網(wǎng)站廣州seo優(yōu)化公司
  • wordpress取消置頂seo優(yōu)化公司排名
  • wap手機(jī)網(wǎng)站建設(shè)制作開發(fā)深圳競價(jià)排名網(wǎng)絡(luò)推廣
  • 廣州番禺建網(wǎng)站什么是seo關(guān)鍵詞優(yōu)化
  • 資源交易網(wǎng)站代碼百度經(jīng)驗(yàn)手機(jī)版
  • 星裕建設(shè)網(wǎng)站朝陽seo搜索引擎
  • 南昌公司做網(wǎng)站南京百度seo排名優(yōu)化
  • 網(wǎng)站建設(shè)可行分析性報(bào)告真正永久免費(fèi)的建站系統(tǒng)有哪些
  • 千牛cdn wordpress長沙網(wǎng)站優(yōu)化推廣方案