久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

詳解mysql持久化統(tǒng)計信息

瀏覽:36日期:2023-10-08 13:34:26

一、持久化統(tǒng)計信息的意義:

統(tǒng)計信息用于指導mysql生成執(zhí)行計劃,執(zhí)行計劃的準確與否直接影響到SQL的執(zhí)行效率;如果mysql一重啟

之前的統(tǒng)計信息就沒有了,那么當SQL語句來臨時,那么mysql就要收集統(tǒng)計信息然后再生成SQL語句的執(zhí)行

計劃。如果能在關閉mysql的時候就把統(tǒng)計信息保存起來,那么在啟動時就不要再收集一次了,這種處理方式

有助于效率的提升。

二、統(tǒng)計信息準確與否也同樣重要:

第一目中我們說明了“持久化統(tǒng)計信息的意義”,我們的假設統(tǒng)計信息是有用的,是準確的;如果統(tǒng)計信息本身

已經(jīng)過時了,比如說統(tǒng)計信息是在表中只有100行時統(tǒng)計出來的,這種情況下往往走全表掃描開銷會更小,但是

呢! 現(xiàn)在表中的行數(shù)已經(jīng)達到了100萬行,明顯這種過時的統(tǒng)計信息會引發(fā)性能災難,所以統(tǒng)計信息的時效性也

是同樣重要的。那mysql它什么時候自動更新統(tǒng)計信息呢?默認情況下當表中的數(shù)據(jù)有10%被修改過的就會更新。

三、mysql對統(tǒng)計信息的處理:

針對上面的兩個問題mysql都有給出解決方案,并且都可能通過簡單的配置來解決

1、針對是否持久化統(tǒng)計信息mysql可以通過innodb_stats_persistent參數(shù)來控制

2、針對統(tǒng)計信息的時效性,mysql通過innodb_stats_auto_recalc參數(shù)來控制是否自動更新

3、針對統(tǒng)計信息的準確性,mysql通過innodb_stats_persistent_sample_pages 參數(shù)來控制更新

統(tǒng)計信息時的采樣,樣本頁面的數(shù)量。

四、手動更新統(tǒng)計信息的方式:

mysql通過analyze table 語句來手動的更新統(tǒng)計信息

五、查看表的統(tǒng)計信息是什么時候更新的:

mysql把統(tǒng)計信息相關的內(nèi)容記錄在mysql.innodb_table_stats ,mysql.innodb_index_stats 這兩張表里面。

mysql.innodb_table_stats以表為單位記錄著統(tǒng)計信息

mysql> select * from innodb_table_stats;+---------------+----------------------------+---------------------+--------+----------------------+--------------------------+| database_name | table_name | last_update | n_rows | clustered_index_size | sum_of_other_index_sizes |+---------------+----------------------------+---------------------+--------+----------------------+--------------------------+| fdb | auth_group | 2017-08-10 14:36:40 | 0 | 1 | 1 || fdb | auth_group_permissions | 2017-08-10 14:36:41 | 0 | 1 | 2 || fdb | auth_permission | 2017-08-10 14:36:41 | 30 | 1 | 1 || fdb | auth_user | 2017-08-10 14:36:41 | 0 | 1 | 1 || fdb | auth_user_groups | 2017-08-10 14:36:41 | 0 | 1 | 2 || fdb | auth_user_user_permissions | 2017-08-10 14:36:41 | 0 | 1 | 2 || fdb | cninfo_company | 2017-08-10 14:36:58 | 4996 | 161 | 6 || fdb | csindex_indexdetail | 2017-09-17 14:04:27 | 0 | 1 | 0 || fdb | csindex_indexoverview | 2017-09-01 12:44:18 | 11 | 1 | 0 || fdb | django_admin_log | 2017-08-10 14:36:47 | 0 | 1 | 2 || fdb | django_content_type | 2017-08-10 14:36:47 | 10 | 1 | 1 || fdb | django_migrations | 2017-09-04 14:04:09 | 37 | 1 | 0 || fdb | django_session | 2017-08-10 14:36:47 | 0 | 1 | 1 || fdb | glod_glodprice | 2017-08-10 14:36:48 | 2271 | 10 | 0 || fdb | pbc_moneysupply | 2017-08-10 14:37:08 | 78 | 1 | 0 || fdb | shibor_shiborrate | 2017-08-10 14:37:18 | 2711 | 14 | 0 || fdb | sse_marketoverview | 2017-08-15 16:06:12 | 0 | 1 | 0 || mysql | gtid_executed | 2017-09-06 11:02:14 | 2 | 1 | 0 || sys | sys_config | 2017-08-10 12:19:06 | 6 | 1 | 0 || tempdb | person | 2017-09-14 11:18:15 | 1 | 1 | 0 || tmp | t | 2017-08-15 11:06:18 | 2 | 1 | 0 |+---------------+----------------------------+---------------------+--------+----------------------+--------------------------+21 rows in set (0.00 sec)

各個列所代表的意義:

database_name表所在的庫名

table_name表名

last_update最近一次的更新時間

n_rows表中的行數(shù)

clustered_index_size  主鍵的大小

sum_of_other_index_sizes 所有二級索引的大小

六、一些在analyze table 過程中的經(jīng)驗:

如果我們用explan 語句查看SQL的執(zhí)行計劃的時候發(fā)現(xiàn),計劃走的不準,多半是由于統(tǒng)計信息過時引起的,這個

時候就要執(zhí)行一下analyze table 來重新生成一下執(zhí)行計劃了;有時候可能發(fā)現(xiàn)重新生成執(zhí)行計劃后并沒有什么用

SQL還是走的不準,這個時候最可能的原因就是生成執(zhí)行計劃時的采樣頁的數(shù)量太低了,innodb_stats_persistent_sample_pages

這個參數(shù)的值,注意這個值也不要加的太大,要不然會老半天都執(zhí)行不完analyze table 語句。

七、附加說明:

上文中說的mysql實際上指的只是Innodb這個引擎

以上就是詳解mysql持久化統(tǒng)計信息的詳細內(nèi)容,更多關于mysql持久化統(tǒng)計信息的資料請關注好吧啦網(wǎng)其它相關文章!

相關文章:
主站蜘蛛池模板: 日本三级不卡 | 国产精品视频 | 99视频网 | 成人在线一区二区 | 日本精品网站 | 天堂av一区 | 国产有码 | 亚洲欧美中文字幕 | 国产精品国产三级国产aⅴ原创 | 日本欧美在线观看 | 亚洲一区视频 | 成人在线欧美 | 国产高清在线精品 | 久久久久久久久99精品 | 亚洲高清av| 精品一区二区视频 | 亚洲免费视频大全 | 国产v日产∨综合v精品视频 | 国产精品www| 欧美在线| 日韩精品在线免费观看 | 亚洲永久免费视频 | 青青久久 | 一区二区三区免费 | 国产在线小视频 | 久久综合狠狠综合久久综合88 | 在线观看毛片网站 | 久久亚洲国产视频 | 中文字幕在线精品 | 人人做人人澡人人爽欧美 | 日韩日韩日韩日韩日韩日韩 | 国产精品无码专区在线观看 | 91久久夜色精品国产网站 | 一区二区三区播放 | 成人久久久 | 久久影音先锋 | 欧美日韩精品久久久 | 婷婷午夜激情网 | 日本妇乱大交xxxxx | 日韩免费在线观看视频 | 成人一区二区三区久久精品嫩草 |