自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL Query時(shí)間都去哪兒了

數(shù)據(jù)庫(kù) MySQL
MySQL作為被廣泛應(yīng)用的關(guān)系型數(shù)據(jù)庫(kù),幫助大家完成數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理以及數(shù)據(jù)分析等相關(guān)工作。在使用MySQL過程中最常遇到的問題大約就是慢查詢或者運(yùn)算時(shí)間很長(zhǎng)的問題,那么時(shí)間都去哪兒了呢?

MySQL作為被廣泛應(yīng)用的關(guān)系型數(shù)據(jù)庫(kù),幫助大家完成數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理以及數(shù)據(jù)分析等相關(guān)工作。在使用MySQL過程中最常遇到的問題大約就是慢查詢或者運(yùn)算時(shí)間很長(zhǎng)的問題,那么時(shí)間都去哪兒了呢?

使用SHOW PROFILE

MySQL提供的 SHOW PROFILE語(yǔ)法 ,可以幫助我們分析查詢執(zhí)行的每個(gè)步驟極其花費(fèi)的時(shí)間。我們可以通過執(zhí)行 set profiling=1 來開啟此功能。先讓我們看個(gè)例子

 

  1. select count(*) from user
  2. show profile; 

 

MySQL Query時(shí)間都去哪兒了

通過show profile命令我們可以查看時(shí)間主要消耗在了Sending data階段,Sending data狀態(tài)描述的是讀和處理SELECT涉及的行以及發(fā)送數(shù)據(jù)到客戶端:

The thread is reading and processing rows for a SELECT statement, and sending data to the client. Because operations occurring during this state tend to perform large amounts of disk access (reads), it is often the longest-running state over the lifetime of a given query.

其他狀態(tài)的解釋請(qǐng)參考 手冊(cè) 。通過分析查詢每個(gè)步驟消耗的時(shí)間,我們可以有針對(duì)性的進(jìn)行優(yōu)化。讓我們來查看另一個(gè)例子。

  1. select * from user order by email desc limit 1000, 10; 

 

MySQL Query時(shí)間都去哪兒了

  1. show profiles;  

 

 

 

MySQL Query時(shí)間都去哪兒了

  1. show profile for query 2; 

 

MySQL Query時(shí)間都去哪兒了

通過上邊的例子,我們可以發(fā)現(xiàn)時(shí)間主要花到了排序上。

使用 EXPLAIN

我們可以使用EXPLAIN來獲取關(guān)于查詢執(zhí)行計(jì)劃的信息, EXPLAIN命令等價(jià)于DESCRIBE/DESC。EXPLAIN命令是查看查詢優(yōu)化器如何決定執(zhí)行查詢的主要方法。

MySQL Query時(shí)間都去哪兒了

EXPLAIN命令可以幫助我們查看查詢我們的SQL語(yǔ)句可能用到的索引(possible_keys)以及影響的行數(shù)(rows),可以幫我們更好的定位慢的原因。每列值得具體解釋請(qǐng)參考 手冊(cè) 。此外EXPLAIN也可以看表結(jié)構(gòu)。

目前MySQL提供的工具在分析查詢性能定位上還是比較弱的,但是造成查詢性能底下的原因還是比較明確的:就是訪問的數(shù)據(jù)太多。那么通過調(diào)整索引結(jié)構(gòu)、調(diào)整檢索語(yǔ)句的條件以及重構(gòu)查詢等均能收到不錯(cuò)的優(yōu)化效果。

通過上述兩個(gè)工具我們基本上能夠確定我們的SQL在干什么以及消耗了多少時(shí)間,也能夠了解查詢優(yōu)化器為我們做的一些工作,更具它們?yōu)槲覀兲峁┑男畔?,我們可以調(diào)整我的查詢方式來提高我們的查詢效率。

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

2015-11-13 09:34:25

流量wifi運(yùn)營(yíng)商

2021-08-11 09:47:57

MySQL 數(shù)據(jù)InnoDB

2014-06-09 16:32:55

大數(shù)據(jù)大數(shù)據(jù)人才

2013-05-03 14:11:43

程序員

2020-06-11 18:06:03

電腦電路板元件

2015-11-10 10:57:18

流量不清零運(yùn)營(yíng)商

2019-10-08 15:08:28

人臉數(shù)據(jù)AI數(shù)據(jù)收集

2021-11-22 22:05:47

電腦回收站文件

2024-01-25 17:58:14

OpenAIAI科技公司

2014-03-26 10:13:07

2019-04-30 08:49:23

通信人才研發(fā)

2016-09-12 15:15:49

戴爾

2015-11-10 09:57:18

APP流量

2015-12-08 10:38:32

軟件經(jīng)典

2019-09-29 08:50:01

Python IT旅游

2017-12-21 08:09:13

程序員技術(shù)學(xué)習(xí)

2015-06-03 10:22:31

程序員代碼

2019-03-25 07:14:57

程序員工程師職業(yè)

2017-08-24 13:10:09

IT

2014-04-10 15:42:08

Linux系統(tǒng)內(nèi)存
點(diǎn)贊
收藏

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