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

MySQL SQL優(yōu)化筆記的實際操作流程

數(shù)據(jù)庫 MySQL
我們今天主要向大家描述的是MySQL SQL優(yōu)化的實際應(yīng)用筆記的實際操作流程,以下就是相關(guān)內(nèi)容的具體描述。望大家借鑒。

以下的文章主要講述的是 MySQL SQL優(yōu)化的實際應(yīng)用筆記的實際操作流程,以及關(guān)于Mysql查詢使用 index 的問題解決, 如果你對其相關(guān)的實際操作有興趣的話,你就可以對以下的文章點擊觀看了。

 

Mysql的強制索引(Force Index)都為我們做了哪些優(yōu)化?

 

mysql5下大數(shù)據(jù)量查詢優(yōu)化的問題

 

推薦圈子: Database圈子

更多相關(guān)推薦 一般使用SQL的時候你是不會去想到優(yōu)化。但是面對一個有MySQL SQL性能問題的數(shù)據(jù)庫時,我們應(yīng)該如何入手進行系統(tǒng)的分析,使得能夠盡快定位問題SQL,并且盡快解決問題。

 

1.使用show status 命令了解各種MySQL SQL的執(zhí)行頻率

引用

例如在Mysql的Cline上輸入

show status like 'Com_%';

 

 

顯示的是一些:Com_xxx.

 

Com_xxx 表示每個xx語句執(zhí)行的次數(shù)。通常情況下我們比較關(guān)注如下一些操作:

 

引用

Com_select:執(zhí)行select操作的次數(shù)

Com_insert:執(zhí)行Insert操作的次數(shù),對于批量插入的INSERT操作,只累加一次

 

Com_update:執(zhí)行update操作的次數(shù)

 

Com_delete:執(zhí)行Delete操作的次數(shù)

 

 

上面這些參數(shù)對于所有存儲引擎的表操作都會進行累加。下面有些參數(shù)只針對InnoDB存儲引擎的,累加的算法也有點不一樣。

 

引用

Innodb_rows_read:select查詢返回的行數(shù)

Innodb_rows_inserted:執(zhí)行INSERT操作插入的行數(shù)

 

Innodb_rows_updated:執(zhí)行Update操作更新的行數(shù)

 

Innodb_rows_deleted:執(zhí)行Delete操作刪除的行數(shù)

 

 

通過上面的一些參數(shù),我們可以了解當(dāng)前數(shù)據(jù)庫的應(yīng)用是以插入為主還是以查詢?yōu)橹鳌R约案鞣N類型的MySQL SQL大致的執(zhí)行比例是多少。對于更新操作的計數(shù),是對執(zhí)行次數(shù)的計數(shù),不管提交還是回滾都會進行累加。

 

對于事務(wù)型的應(yīng)用,通過Com_commit和Com_rollback進行分析。如果回滾操作非常頻繁那么要思考下是不是編寫存在問題。

下面有幾個參數(shù)用于了解數(shù)據(jù)庫的基本情況

 

引用

Connections:試圖連接Mysql服務(wù)器的次數(shù)(執(zhí)行的命令是:show status like 'Con_%';)

Uptime: 服務(wù)器工作時間(執(zhí)行的命令是:show status like 'Up_%';)

 

Slow_queries:慢查詢的次數(shù)(執(zhí)行的命令是:show status like 'Slow_%';)

 

2. 定位執(zhí)行效率較低的MySQL SQL語句

要想定義效率較低的SQL可以按照下面兩種方式試試。

引用

1. 通過慢查詢?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的SQL語句,用 --log-slow-queries[=file_name]選項啟動時,mysqld寫一個包含所有執(zhí)行時間超過long_query_time秒的SQL語句的日志文件。

2. 慢查詢?nèi)罩驹诓樵兘Y(jié)束以后才記錄,所以在應(yīng)用反映執(zhí)行效率出現(xiàn)問題的時候進行查詢慢查詢?nèi)罩静⒉荒芏ㄎ粏栴},可以使show processlist 命令查看當(dāng)前MySQL在進行的線程,包括線程的狀態(tài),是否鎖表等,可以實時地查看SQL的執(zhí)行情況,同時對一些鎖表操作進優(yōu)化。

 

3. 使用EXPLAIN分析低效SQL的執(zhí)行計劃。

在查詢到效率低的MySQLSQL語句后,那我們可以使用explain或者DESC命令獲取Myswl如何執(zhí)行SELECT語句的信息,包括在Select語句執(zhí)行過程中表如何連接和連接的順序。

 

例如你想計數(shù)xxxx年公司的銷售額,那么需要操作sales和comapny table,并對money字段進行sum操作。看看怎么使用explain:

 

引用

explain select sum(moneys) from sales a company b where a.company_id = b.id and a.year=XXXX \G;(注意加上\G是為了更好的看)

顯示如下:

 

  1. *********************** 1. row***************************   
  2. id: 1   
  3. select_type: SIMPLE   
  4. table: a   
  5. type: ALL   
  6. possible_keys: NULL   
  7. key:NULL   
  8. key_len: NULL   
  9. ref: NULL   
  10. rows:1000   
  11. Extra: Using where   
  12. *********************** 2. row***************************   
  13. id: 2   
  14. select_type: SIMPLE   
  15. table: b   
  16. type: ref   
  17. possible_keys: ind_company_id   
  18. key:ind_comapany_id   
  19. key_len: 5   
  20. ref: sakila.a.company_id   
  21. rows:1   
  22. Extra: Using where;Using index  

 

下面解釋下每個列的含義:

 

引用

select_type: 表示SELECT的類型,常見的取值為SIMPLE(簡單表,不使用表連接或者子查詢)、PRIMARY(主查詢,即外層的查詢)、UNION、SUBQUERY

table: 輸出結(jié)果集的表

type: 表示表的連接類型,性能由好到差的類型類型為

(System(表中僅有一行,即常量表),

 

const(單表中最多有一個匹配行),

 

eq_ref(對于前面的每一行,在此表中只查詢一條記錄),

 

ref(使用普通的索引),

 

ref_or_null(和ref類似,但是條件中包含對于NULL查詢),

 

index_merge(索引合并優(yōu)化),

 

unique_subquery(in的后面是一個查詢主鍵字段的子查詢),

 

index_subquery(類似unique_subquery,主要是in的后面是查詢非***索引字段的子查詢),

 

range(單表中的范圍查詢),

 

index(對于當(dāng)前的每一行,都通過查詢索引來得到數(shù)據(jù)),

 

all(對于當(dāng)前的每一行,都通過全表掃描來得到數(shù)據(jù)))

 

possible_keys: 表示查詢時,可能使用的索引

key:表示實際使用的索引

 

key_len:索引字段的長度

 

rows:掃描行的數(shù)量

 

Extra:執(zhí)行情況的說明和描述

 

 

以上的相關(guān)內(nèi)容就是對MySQL SQL優(yōu)化的筆記的介紹,望你能有所收獲。 

【編輯推薦】

  1. Mysql數(shù)據(jù)庫編碼的問題的解析
  2. MySQL 5安裝過程中遇到的問題的解決
  3. MySQL字符的編碼轉(zhuǎn)換問題詳解
  4. MySQL QueryCache原理經(jīng)典講解
  5. MySQL MyISAM的引擎和InnoDB引擎的比較

 

責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-05-21 14:56:53

MySQL聯(lián)表查詢優(yōu)化

2010-05-19 10:37:06

MySQL expla

2010-05-17 11:26:49

MySQL 多級同步

2010-05-25 16:31:23

MySQL配置

2010-06-28 12:39:14

SQL Server數(shù)

2010-05-18 10:07:01

MySQL命令

2010-06-28 12:27:35

SQL Server

2010-05-26 14:55:43

MySQL存儲過程

2010-05-18 09:40:01

MySQL修改表字段

2010-06-17 12:26:51

SQL Server索

2010-05-27 16:12:10

MySQL索引

2010-05-26 14:06:44

MySQL查詢

2010-05-17 16:52:14

MySQL limit

2010-07-06 09:20:30

SQL Server查

2010-06-09 11:40:32

MySQL SQL 語

2010-05-12 16:02:04

MySQL連接數(shù)

2010-05-26 15:51:37

連接MySQL

2010-06-07 17:30:16

MySQL配置SSL

2010-06-10 13:04:31

2010-05-20 17:56:43

點贊
收藏

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

主站蜘蛛池模板: 97色在线观看免费视频 | 免费精品视频一区 | 亚洲电影第1页 | 精品国产一区二区在线 | 美女三区 | 色噜噜狠狠色综合中国 | 国产激情小视频 | 特一级毛片 | 国产 欧美 日韩 一区 | 免费看一区二区三区 | 特级a欧美做爰片毛片 | 亚洲一区视频在线播放 | 成人免费视频观看视频 | 亚洲国产精品第一区二区 | 成人国产一区二区三区精品麻豆 | 成人免费精品视频 | 中文字幕一区二区三区精彩视频 | 日韩电影中文字幕在线观看 | 成人午夜在线 | 色综合天天综合网国产成人网 | 久久久成人精品 | 在线看无码的免费网站 | 久在线| 精品久久久久久中文字幕 | 操操日 | 中文字幕在线第二页 | 综合久久久 | 色性av| 欧美在线一区视频 | 91在线精品视频 | 2021狠狠干 | 欧美精品久久久久久久久老牛影院 | 一区二区三区在线免费观看视频 | 色橹橹欧美在线观看视频高清 | 福利久久 | 久久精品综合 | 日韩精品一区二区三区在线观看 | 中文字幕亚洲视频 | 国产精品国产三级国产aⅴ无密码 | 国产91在线 | 亚洲 | 亚洲人成人一区二区在线观看 |