對innodb 統計資訊的控制可以通過如下幾個常用的variables 來實現
1、innodb_stats_persistent:
這個引數控制著innodb的統計資訊是否持久化到磁碟,先說明一下持久化到磁碟是什麼意思;通常來說統計資訊只儲存在記憶體中,也就是說如果mysql服務一重啟那麼之前
所有的統計資訊都沒有了,這個情況下mysql就要重新收集&計算了;如果統計資訊持久化到磁碟了,那麼就可以直接從磁碟中讀取;
為了真正的可以達到紅統計資訊持久化到磁碟光是innodb_stats_persistent=on是做不到的;innodb_stats_persistent=on 只是說明了開啟了mysql把錶的統計
資訊持久化到磁碟的能力,但是這個能力用不用不是由表自己說了算;在create table 語句中指定stats_persistent=1這個時候表就支援持久化工能了。
createtable t(x int,y int) stats_persistent=
1;
2、由1中的描述可知 innodb的表可以分成兩大類、一類是支援持久化的表,一類是不支援持久化的表;它們各自的統計資訊的收集方式又可以通過不同的變數來控制
3、innodb_stats_persistent_sample_pages 持久化統計資訊的取樣頁
4、innodb_stats_transient_sample_pages 非持久化統計資訊的取樣頁
5、innodb_stats_auto_recalc 變更超過10%的時候要不要自動收集統計資訊
6、innodb_stats_on_metadata 執行show table status | information_schema.tables 時是否自動收集統計資訊
mysql統計資訊 概述MySQL統計資訊
mysql統計資訊的儲存分為兩種,非持久化和持久化統計資訊。一 非持久化統計資訊 非持久化統計資訊儲存在記憶體裡,如果資料庫重啟,統計資訊將丟失。有兩種方式可以設定為非持久化統計資訊 1 全域性變數,innodb stats persistent off 2 create alter表的引數,sta...
轉移統計資訊
可以通過匯入原來的statistics來得到原來的統計資訊。下面是步驟 假設我要匯出inv.mtl system items b的統計資訊。1.建立儲存統計資訊的表,這個表和要匯出統計資訊的表要在同乙個schema下.如果也匯出index資訊的話,同時index的owner是別的使用者,在index...
Oracle AUTOTRACE 統計資訊
autotrace 中 統計資訊的解釋 recursive calls 遞迴讀 為了保證使用者發的sql的順利執行,oracle必須執行一些額外的語句。這些語句就叫做遞迴讀。它內部產生一條維護的語句,就會有一條遞迴讀。db block gets 以即時讀模式從buffer cache中讀取的資料塊,...