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

詳解MySQL索引使用率監控技巧,值得收藏

數據庫 MySQL
在關系數據庫中,索引是一種單獨的、物理的對數據庫表中一列或多列的值進行排序的一種存儲結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單。

在關系數據庫中,索引是一種單獨的、物理的對數據庫表中一列或多列的值進行排序的一種存儲結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單。

mysql中支持hash和btree索引。innodb和myisam只支持btree索引,而memory和heap存儲引擎可以支持hash和btree索引

1. 查看當前索引使用情況

我們可以通過下面語句查詢當前索引使用情況:

詳解mysql索引使用率監控技巧,值得收藏

  • Handler_read_first 代表讀取索引頭的次數,如果這個值很高,說明全索引掃描很多。
  • Handler_read_key代表一個索引被使用的次數,如果我們新增加一個索引,可以查看Handler_read_key是否有增加,如果有增加,說明sql用到索引。
  • Handler_read_next 代表讀取索引的下列,一般發生range scan。
  • Handler_read_prev 代表讀取索引的上列,一般發生在ORDER BY … DESC。
  • Handler_read_rnd 代表在固定位置讀取行,如果這個值很高,說明對大量結果集進行了排序、進行了全表掃描、關聯查詢沒有用到合適的KEY。
  • Handler_read_rnd_next 代表進行了很多表掃描,查詢性能低下。

其實比較多應用場景是當索引正在工作,Handler_read_key的值將很高,這個值代表了一個行將索引值讀的次數,很低的值表明增加索引得到的性能改善不高,因為索引并不經常使用。

Handler_read_rnd_next 的值高則意味著查詢運行低效,并且應該建立索引補救。這個值的含義是在數據文件中讀下一行的請求數。如果正進行大量的表 掃描,Handler_read_rnd_next的值較高,則通常說明表索引不正確或寫入的查詢沒有利用索引

2. 查看索引是否被使用到

  1. SELECT 
  2.  object_type, 
  3.  object_schema, 
  4.  object_name, 
  5.  index_name, 
  6.  count_star, 
  7.  count_read, 
  8.  COUNT_FETCH  
  9. FROM 
  10.  PERFORMANCE_SCHEMA.table_io_waits_summary_by_index_usage; 

如果read,fetch的次數都為0的話,就是沒有被使用過的。

詳解mysql索引使用率監控技巧,值得收藏

詳解mysql索引使用率監控技巧,值得收藏

3. 查看使用了哪些索引

explain相關sql,查看type表示查詢用到了那種索引類型

  1. +-----+-------+-------+-----+--------+-------+---------+-------+ 
  2. | ALL | index | range | ref | eq_ref | const | system | NULL | 
  3. +-----+-------+-------+-----+--------+-------+---------+-------+ 

從最好到最差依次是:

  1. system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL 
  • system 表中只有一條記錄,一般來說只在系統表里出現。
  • const 表示通過一次索引查詢就查詢到了,一般對應索引列為primarykey 或者unique where語句中 指定 一個常量,因為只匹配一行數據,MYSQL能把這個查詢優化為一個常量,所以非常快。
  • eq_ref 唯一性索引掃描。此類型通常出現在多表的 join 查詢,對于每一個從前面的表連接的對應列,當前表的對應列具有唯一性索引,最多只有一行數據與之匹配。
  • ref 非唯一性索引掃描。同上,但當前表的對應列不具有唯一性索引,可能有多行數據匹配。此類型通常出現在多表的 join 查詢, 針對于非唯一或非主鍵索引, 或者是使用了 最左前綴 規則索引的查詢.
  • range 索引的范圍查詢。查詢索引關鍵字某個范圍的值。
  • index 全文索引掃描。與all基本相同,掃描了全文,但查詢的字段被索引包含,故不需要讀取表中數據,只需要讀取索引樹中的字段。
  • all 全文掃描。未使用索引,效率最低。

順便提幾個優化注意點:

(1) 優化insert語句:

  • 盡量采用 insert into test values(),(),(),()...
  • 如果從不同客戶插入多行,能通過使用insert delayed語句得到更高的速度,delayed含義是讓insert語句馬上執行,其實數據都被放在內存隊列中個,并沒有真正寫入磁盤,這比每條語句分別插入快的多;low_priority剛好相反,在所有其他用戶對表的讀寫完后才進行插入。
  • 將索引文件和數據文件分在不同磁盤上存放(利用建表語句)
  • 如果進行批量插入,可以增加bulk_insert_buffer_size變量值方法來提高速度,但是只對MyISAM表使用
  • 當從一個文本文件裝載一個表時,使用load data file,通常比使用insert快20倍

(2) 優化group by語句:

默認情況下,mysql會對所有group by字段進行排序,這與order by類似。如果查詢包括group by但用戶想要避免排序結果的消耗,則可以指定order by null禁止排序。

(3) 優化order by語句:

某些情況下,mysql可以使用一個索引滿足order by字句,因而不需要額外的排序。where條件和order by使用相同的索引,并且order by的順序和索引的順序相同,并且order by的字段都是升序或者降序。

(4) 優化嵌套查詢:

mysql4.1開始支持子查詢,但是某些情況下,子查詢可以被更有效率的join替代,尤其是join的被動表待帶有索引的時候,原因是mysql不需要再內存中創建臨時表來完成這個邏輯上需要兩個步驟的查詢工作。

最后提一個點:

一個表最多16個索引,最大索引長度256字節,索引一般不明顯影響插入性能(大量小數據例外),因為建立索引的時間開銷是O(1)或者O(logN)。不過太多索引也是不好的,畢竟更新之類的操作都需要去維護索引。

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2011-04-06 11:36:30

MRTG監控內存

2019-09-26 08:59:39

DockerGoogle軟件

2019-07-24 08:47:45

MySQL 數據庫收藏

2024-07-31 08:33:17

2013-04-12 09:39:01

Top監控系統

2010-01-18 10:13:08

VB.NET獲取CPU

2023-11-15 16:35:31

SQL數據庫

2013-07-22 10:01:03

JavascriptWeb

2024-04-11 13:27:19

Linuxtop命令

2015-04-27 09:29:48

微軟AzureIaaS混合IT

2009-11-16 17:03:20

Oracle優化CPU

2022-12-10 08:15:06

2017-05-03 11:10:14

Linux進程監控cpustat

2019-01-15 15:04:54

CPU電腦使用率

2019-07-29 17:15:35

MySQL操作系統數據庫

2022-11-30 08:17:41

JVM調優技巧

2019-09-02 14:53:53

JVM內存布局GC

2019-10-22 18:00:00

MySQL基礎入門數據庫

2009-01-13 16:41:02

編程語言JavaC

2021-08-10 11:45:57

topCPULinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕91av | 91毛片在线看 | 亚洲第一网站 | 成人免费精品 | 久久成人免费视频 | 日韩a v在线免费观看 | 中文字幕高清 | 999久久久久久久久6666 | 在线免费av电影 | 日韩二 | 黄色片网站在线观看 | 久久久久亚洲 | 欧美一区免费在线观看 | 久久aⅴ乱码一区二区三区 91综合网 | 91精品久久久久久久 | 国产视频一区在线 | 中文字幕乱码一区二区三区 | 国产精品国产精品国产专区不卡 | 91在线区 | 国产最好的av国产大片 | 日韩精品一区二区三区中文在线 | 欧美色综合天天久久综合精品 | 黄a网 | 特黄毛片视频 | 免费精品视频在线观看 | 羞羞的视频在线观看 | 成人精品一区二区三区中文字幕 | 亚洲三级视频 | 精品国产乱码久久久久久a丨 | 亚洲色综合 | 亚洲视频国产视频 | 99精品一区二区 | 久久中文一区二区 | 国产视频在线观看一区二区三区 | 精品一区二区免费视频 | 一区二区日韩 | 欧美国产日本一区 | 成人在线观看免费 | 亚洲午夜精品一区二区三区 | 国产观看 | 成人av色 |