MySQL系統如何收集統計資訊
一、手動
執行Analyze table
innodb和myisam儲存引擎都可以透過執行“Analyze table tablename”來收集表的統計資訊,除非執行計劃不準確,否則不要輕易執行該操作,如果是很大的表該操作會影響表的效能。
二、自動觸發
以下行為會自動觸發統計資訊的收集
1.第一次開啟表的時候
2.表修改的行超過1/6或者20億條時
3.當有新的記錄插入時
4.執行show index from tablename或者執行show table、查詢information_schema.tables\statistics 時
三、開啟引數innodb_stats_on_metadata
當開啟引數innodb_stats_on_metadata後訪問以下表也會觸發統計資訊的收集
在訪問以下表時,innodb表的統計資訊可自動收集
information_schema.TABLES
information_schema.STATISTICS
information_schema.PARTITIONS
information_schema.KEY_COLUMN_USAGE
information_schema.TABLE_CONSTRAINTS
information_schema.REFERENTIAL_CONSTRAINTS
information_schema.table_constraints
引數說明:
Innodb_stats_sample_pages:每次收集統計資訊時取樣的頁數,預設為20
innodb_stats_persistent:預設on,將analyze table產生的統計資訊儲存於磁碟,直至下次analyze table為止,此舉避免了統計資訊動態更新,保證了執行計劃的穩定,對於大表也節省了收集統計資訊的所需資源;
執行Analyze table
innodb和myisam儲存引擎都可以透過執行“Analyze table tablename”來收集表的統計資訊,除非執行計劃不準確,否則不要輕易執行該操作,如果是很大的表該操作會影響表的效能。
二、自動觸發
以下行為會自動觸發統計資訊的收集
1.第一次開啟表的時候
2.表修改的行超過1/6或者20億條時
3.當有新的記錄插入時
4.執行show index from tablename或者執行show table、查詢information_schema.tables\statistics 時
三、開啟引數innodb_stats_on_metadata
當開啟引數innodb_stats_on_metadata後訪問以下表也會觸發統計資訊的收集
在訪問以下表時,innodb表的統計資訊可自動收集
information_schema.TABLES
information_schema.STATISTICS
information_schema.PARTITIONS
information_schema.KEY_COLUMN_USAGE
information_schema.TABLE_CONSTRAINTS
information_schema.REFERENTIAL_CONSTRAINTS
information_schema.table_constraints
引數說明:
Innodb_stats_sample_pages:每次收集統計資訊時取樣的頁數,預設為20
innodb_stats_persistent:預設on,將analyze table產生的統計資訊儲存於磁碟,直至下次analyze table為止,此舉避免了統計資訊動態更新,保證了執行計劃的穩定,對於大表也節省了收集統計資訊的所需資源;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2144962/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql如收集統計資訊MySql
- MySQL 5.5 統計資訊收集MySql
- 微課sql最佳化(3)、統計資訊收集(2)-如何收集統計資訊SQL
- Oracle收集統計資訊Oracle
- Oracle 統計資訊收集Oracle
- 收集oracle統計資訊Oracle
- ORACLE 收集統計資訊Oracle
- 【統計資訊】Oracle常用的收集統計資訊方式Oracle
- 收集全庫統計資訊
- 作業系統資訊收集工具作業系統
- Oracle統計資訊自動收集Oracle
- oracle收集統計資訊job停止Oracle
- 收集資料庫統計資訊需要收集直方圖資訊.資料庫直方圖
- MySQL 統計資訊MySql
- Oracle11g 統計資訊-----統計資訊自動收集任務Oracle
- Oracle11g 統計資訊——統計資訊自動收集任務Oracle
- oracle 統計資訊檢視與收集Oracle
- 6 收集資料庫統計資訊資料庫
- Fixed Objects Statistics統計資訊收集 - 2Object
- oracle 11g統計資訊收集Oracle
- EMD_MAINTENANCE 引起統計資訊收集AINaN
- 收集統計資訊的簡單操作
- ORACLE 統計資訊的收集與管理Oracle
- 統計資訊收集不完的解決
- Oracle系統統計資訊Oracle
- Oracle運維指令碼-收集統計資訊Oracle運維指令碼
- oracle統計資訊--直方圖的收集:Oracle直方圖
- 重新收集oracle表的統計資訊Oracle
- 關於oracle自動收集統計資訊Oracle
- Oracle統計資訊的收集和維護Oracle
- 微課sql最佳化(8)、統計資訊收集(6)-統計資訊查詢SQL
- [統計資訊系列7] Oracle 11g的自動統計資訊收集Oracle
- MySQL中Innodb如何計算索引的統計資訊?MySql索引
- oracle統計資訊 使用dbms_stats包收集統計資料Oracle
- MySQL對所有表收集統計資訊(Python 2指令碼)MySqlPython指令碼
- oracle10g如何啟用禁用自動統計資訊收集Oracle
- Oracle 11g系統自動收集統計資訊的一些知識Oracle
- EBS系統資料庫統計資訊收集總結- gather_schema_stats [final]資料庫