您好,登錄后才能下訂單哦!
本篇內容主要講解“MySQL5.5中怎么統計信息并收集”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL5.5中怎么統計信息并收集”吧!
對于大表來說,需要手動添加 ANALYZE TABLE 表名 的定時收集任務。
在 MySQL 中,查詢優化器基于統計信息來選擇合適的執行計劃。
統計信息的主要部分如下:
① cardinality,表中非重復行的條目
② 表的總行數
③ 索引
對于表的數據,通過主鍵索引來代表;
對于索引的條目,通過第二索引來代表
下面的操作會導致 InnoDB 來對表中的每個索引進行隨機采樣數據頁:
① ANALYZE TABLE 語句
② SHOW TABLE STATUS 語句
③ 數據庫重啟后,對表的第一次訪問
innodb_stats_on_metadata 參數設置成 ON,則數據庫會將統計信息存儲到系統表中
>show global variables like 'innodb_stats_on_metadata';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_stats_on_metadata | ON |
+--------------------------+-------+
1 row in set (0.00 sec)
對于空值的處理,可以通過 innodb_stats_method 參數來配置
>show global variables like 'innodb_stats_method';
+---------------------+-------------+
| Variable_name | Value |
+---------------------+-------------+
| innodb_stats_method | nulls_equal |
+---------------------+-------------+
1 row in set (0.00 sec)
其他的統計信息,可以在 INFORMATION_SCHEMA、PERFORMANCE_SCHEMA 庫下的表來獲取
為了提供統計信息收集時的采樣精度,可以調整 innodb_stats_sample_pages 參數
這個參數的默認值是 8,對于大表來說,這個默認值是不夠的,需要增大
>show global variables like 'innodb_stats_sample_pages';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| innodb_stats_sample_pages | 8 |
+---------------------------+-------+
1 row in set (0.00 sec)
到此,相信大家對“MySQL5.5中怎么統計信息并收集”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。