本篇內容主要講解“MySQL5.5中怎么統計信息并收集”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL5.5中怎么統計信息并收集”吧!
公司主營業(yè)務:成都網站設計、成都網站建設、外貿網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯推出柯橋免費做網站回饋大家。對于大表來說,需要手動添加 ANALYZE TABLE 表名 的定時收集任務。
在 MySQL 中,查詢優(yōu)化器基于統計信息來選擇合適的執(zhí)行計劃。
統計信息的主要部分如下:
① 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中怎么統計信息并收集”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!