溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL5.7中sys schema視圖怎么用

發(fā)布時(shí)間:2021-11-06 11:31:18 來(lái)源:億速云 閱讀:148 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

小編給大家分享一下MySQL5.7中sys schema視圖怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

sys schema視圖摘要
    sys schema視圖中包含了很多以各種方式總結(jié)的Performance Schema表的視圖,這些視圖大多數(shù)都是成對(duì)出現(xiàn),使得每組視圖中的一個(gè)成員具有與另一個(gè)成員相同的名稱,加上一個(gè)X$前綴。例如host_summary_by_file_io視圖匯總按照主機(jī)分組的文件I/O延遲。沒(méi)有X$前綴的視圖提供了更加友好且易閱讀的數(shù)據(jù),X$前綴的視圖提供了原始數(shù)據(jù),更多用于需要對(duì)數(shù)據(jù)進(jìn)行處理的其他工具。
視圖按照展示信息可以分為如下幾類(lèi)。
主機(jī)相關(guān)信息:以host_summary開(kāi)頭的視圖,主要匯總了IO延遲的信息,從主機(jī)、文件事件類(lèi)型、語(yǔ)句類(lèi)型等角度展示文件IO的信息。
InnoDB相關(guān)信息:以innodb開(kāi)頭的視圖,匯總了innodb buffer page信息和事務(wù)等待InnoDB鎖信息。
IO使用情況:以io開(kāi)頭的視圖,總結(jié)了io使用者的信息,包括等待I/O的情況、I/O使用量情況,從各個(gè)角度分組展示。
內(nèi)存使用情況:以memory開(kāi)頭的視圖,從主機(jī)、線程、用戶、事件角度展示內(nèi)存使用情況。
連接與會(huì)話信息:其中,processlist和session相關(guān)的視圖,總結(jié)了會(huì)話相關(guān)信息。
表相關(guān)信息:以schema_table開(kāi)頭的視圖,從全表掃描、InnoDB緩沖池等方面展示了表統(tǒng)計(jì)信息。
索引信息:其中包含index的視圖,統(tǒng)計(jì)了索引使用情況,以及重復(fù)索引和未使用的索引情況。
語(yǔ)句相關(guān)信息:以statement開(kāi)頭的視圖,統(tǒng)計(jì)的規(guī)范化后的語(yǔ)句使用情況,包括錯(cuò)誤數(shù)、警告數(shù)、執(zhí)行全表掃描的、使用臨時(shí)表、執(zhí)行排序等信息。
用戶的相關(guān)信息以u(píng)ser開(kāi)頭的視圖,統(tǒng)計(jì)了用戶使用的文件IO、執(zhí)行的語(yǔ)句統(tǒng)計(jì)信息等。
等待事件相關(guān)信息:以wait開(kāi)頭的視圖,從主機(jī)和事件角度展示等待類(lèi)事件的延遲情況。
sys schema重點(diǎn)視圖的應(yīng)用場(chǎng)景
查看表的訪問(wèn)量

點(diǎn)擊(此處)折疊或打開(kāi)

  1. mysql> select table_schema,table_name,io_read_requests+io_write_requests as total from schema_table_statistics;

  2. +--------------+--------------------------------+-------+

  3. | table_schema | table_name        | total |

  4. +--------------+--------------------------------+-------+

  5. | sys          | sys_config        | 19 |

  6. | dedecms      | dede_member_group | 13 |

  7. | dedecms      | dede_scores       | 12 |

  8. | dedecms      | dede_ratings      | 12 |

  9. | dedecms      | dede_pwd_tmp      | 12 |

  10. | dedecms      | dede_purview      | 12 |

  11. | dedecms      | dede_plus         | 12 |

    我們可以監(jiān)控每張表訪問(wèn)量的變化情況,或者監(jiān)控某個(gè)庫(kù)的訪問(wèn)量變化等。如果某個(gè)庫(kù)、某個(gè)表發(fā)生變化,DBA能夠及時(shí)知道每個(gè)表的訪問(wèn)情況。
冗余索引與未使用的索引檢查

點(diǎn)擊(此處)折疊或打開(kāi)

  1. mysql> select * from sys.schema_redundant_indexes \G

  2. *************************** 1. row ***************************

  3.               table_schema: dedecms

  4.                 table_name: dede_member_group

  5.       redundant_index_name: id

  6.    redundant_index_columns: id

  7. redundant_index_non_unique: 1

  8.        dominant_index_name: PRIMARY

  9.     dominant_index_columns: id

  10.  dominant_index_non_unique: 0

  11.             subpart_exists: 0

  12.             sql_drop_index: ALTER TABLE `dedecms`.`dede_member_group` DROP INDEX `id`

    針對(duì)冗余索引,DBA可以及時(shí)清理掉,減少磁盤(pán)的壓力,提高數(shù)據(jù)庫(kù)性能。
表自增ID監(jiān)控
   

點(diǎn)擊(此處)折疊或打開(kāi)

  1. mysql> select * from sys.schema_auto_increment_columns \G

  2. *************************** 1. row ***************************

  3.         table_schema: dedecms

  4.           table_name: dede_sys_enum

  5.          column_name: id

  6.            data_type: smallint

  7.          column_type: smallint(5) unsigned

  8.            is_signed: 0

  9.          is_unsigned: 1

  10.            max_value: 65535

  11.       auto_increment: 20040

  12. auto_increment_ratio: 0.3058

  13. *************************** 2. row ***************************

  14.         table_schema: dedecms

  15.           table_name: dede_member_tj

  16.          column_name: mid

  17.            data_type: mediumint

  18.          column_type: mediumint(8)

  19.            is_signed: 1

  20.          is_unsigned: 0

  21.            max_value: 8388607

  22.       auto_increment: 247352

  23. auto_increment_ratio: 0.0295

    展示了表的自增量列名、數(shù)據(jù)類(lèi)型、當(dāng)前使用量、最大值及使用率情況,極大地方便了DBA快速了解數(shù)據(jù)庫(kù)自增量的使用情況。
監(jiān)控全表掃描的SQL語(yǔ)句

點(diǎn)擊(此處)折疊或打開(kāi)

  1. mysql> select * from sys.statements_with_full_table_scans \G

  2. *************************** 1. row ***************************

  3.                    query: SELECT * FROM `sys_config` LIMIT ?, ...

  4.                       db: sys

  5.               exec_count: 1

  6.            total_latency: 74.62 ms

  7.      no_index_used_count: 1

  8. no_good_index_used_count: 0

  9.        no_index_used_pct: 100

  10.                rows_sent: 6

  11.            rows_examined: 6

  12.            rows_sent_avg: 6

  13.        rows_examined_avg: 6

  14.               first_seen: 2018-03-21 08:52:47

  15.                last_seen: 2018-03-21 08:52:47

  16.                   digest: befd5e5f4382f78675bbc86d495dfac2

  17. *************************** 2. row ***************************

  18.                    query: SELECT `performance_schema` . ... name` . `SUM_TIMER_WAIT` DESC

  19.                       db: sys

  20.               exec_count: 2

  21.            total_latency: 644.19 ms

  22.      no_index_used_count: 2

  23. no_good_index_used_count: 0

  24.        no_index_used_pct: 100

  25.                rows_sent: 155

  26.            rows_examined: 1481

  27.            rows_sent_avg: 78

  28.        rows_examined_avg: 741

  29.               first_seen: 2018-03-22 03:27:54

  30.                last_seen: 2018-03-22 03:44:09

  31.                   digest: 6f58edd9cee71845f592cf5347f8ecd7

  32. *************************** 3. row ***************************

  33.                    query: SELECT * FROM `INNODB_SYS_TABLESPACES

從查詢結(jié)果中可以看到這些語(yǔ)句執(zhí)行的次數(shù),其中沒(méi)有使用索引的次數(shù)。

點(diǎn)擊(此處)折疊或打開(kāi)

  1. mysql> select file,avg_read+avg_write as avg_io from sys.io_global_by_file_by_bytes order by avg_io desc limit 10;

  2. +-------------------------------------------------------------+--------+

  3. | file                                                        | avg_io |

  4. +-------------------------------------------------------------+--------+

  5. | @@datadir/mysql/db.MYD                                      | 1464   |

  6. | @@datadir/sys/io_global_by_wait_by_latency.frm              | 1015   |

  7. | @@datadir/sys/user_summary.frm                              | 958    |

  8. | @@datadir/sys/x@0024schema_table_statistics_with_buffer.frm | 955    |

  9. | @@datadir/mysql/tables_priv.MYD                             | 947    |

  10. | @@datadir/sys/x@0024io_global_by_wait_by_bytes.frm          | 943    |

  11. | @@datadir/sys/host_summary_by_statement_type.frm            | 911    |

  12. | @@datadir/sys/user_summary_by_statement_type.frm            | 904    |

  13. | @@datadir/sys/x@0024user_summary.frm                        | 898    |

  14. | @@datadir/sys/io_by_thread_by_latency.frm                   | 897    |

  15. +-------------------------------------------------------------+--------+

    DBA可以通過(guò)該查詢來(lái)大致了解磁盤(pán)IO消耗在哪里,哪些文件消耗的最多。
操作風(fēng)險(xiǎn)
    雖然這些視圖方便了DBA對(duì)數(shù)據(jù)庫(kù)的監(jiān)控,但建議不要大量在線上部署通過(guò)查詢sys或performance_schema中的表或者視圖來(lái)完成一些監(jiān)控,因?yàn)椴樵冞@些信息時(shí),MySQL會(huì)消耗大量的資源去收集相關(guān)信息,嚴(yán)重的可能會(huì)導(dǎo)致業(yè)務(wù)請(qǐng)求被阻塞,從而引起故障。

以上是“MySQL5.7中sys schema視圖怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI