亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何手動更新MYSQL 表的統計分析記錄

發布時間:2021-10-25 10:30:50 來源:億速云 閱讀:320 作者:柒染 欄目:大數據

如何手動更新MYSQL 表的統計分析記錄,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

大致上大部分的數據庫都有統計分析,主要的作用就是在語句執行的情況下,能盡量的選擇相對正確的方式來走執行計劃,越準確的統計分析,可以帶來更好的執行計劃和數據庫的語句執行性能,但相對來說越準確的統計分析,也會帶來系統在統計時的性能消耗,越大的數據庫系統,對統計分析的需求和要求也就越高。

從MYSQL 5.6 開始,統計分析的信息會固化在系統的存儲中,通過下面的語句可以查看我們相隔的開關是否打開。

如何手動更新MYSQL 表的統計分析記錄

而在進行統計分析中都有一個采樣率的概念,也就是根據估計索引列的基數和其他的統計信息要抽樣的索引頁的數量。其實這樣算看似合理,但實際上如果挑選的索引頁不具有代表性,這樣的算法還可能會錯誤引導數據庫的基本的統計分析的信息。這也就是為什么有時候明明建立了索引,卻不走,在手動觸發統計分析后,執行的結果有變化了的原因。默認抽樣的頁數是8 pages,我們可以改動默認抽樣的頁數,來達到提高準確率的功效。但同樣付出的代價就是,在抽樣時的消耗的I/O 和相關資源。

如何手動更新MYSQL 表的統計分析記錄

我們是可以定期對一些大表進行 analyze table 的,可以寫一個定期的運行的腳本來完成此事,盡量達到統計分析的準確性。但通常一般都是通過自動觸發的方式來完成這樣的工作。

而我們可以進行一個測試,關于MYSQL的索引和真是的表信息之間是否有差距。

1 我們將需要檢驗的字段進行distinct 并且 count 返回的數據和我們建立索引的數據進行比對,看看是否有問題,對比兩張圖中的數據,可以清晰的發現,索引中的Cardinality 和實際中的字段的數據比較,是不一樣的。

如何手動更新MYSQL 表的統計分析記錄

如何手動更新MYSQL 表的統計分析記錄

其實我們已經操作了analyze table 但是我們依然沒有得到準確的數字,在平時這可能不會有什么問題,但如果是較大的表例如上千萬的表,如果這方面錯的比較錯,會對執行計劃產生問題,這時候可能就需要我們通過手動的方式來更新某些表的記錄。

update mysql.innodb_table_stats set n_rows = 300024 where database_name = 'employees' and table_name = 'employees';

同理也可以更新 innodb_index_stats表里面的數據

以上方法僅僅使用于統計分析的不準確嚴重影響到了執行計劃,一般我們還是不要動系統中的統計分析表,另外這樣做的另一個問題就是, 你的表不會頻繁更新的操作,并且你要找好自己更新數值的時間點。

看完上述內容,你們掌握如何手動更新MYSQL 表的統計分析記錄的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新化县| 陕西省| 安徽省| 绥德县| 安西县| 祁门县| 辽宁省| 乌拉特后旗| 阳东县| 临泉县| 永康市| 朔州市| 南澳县| 隆化县| 普格县| 偏关县| 公安县| 白沙| 景谷| 溧阳市| 越西县| 永胜县| 迁西县| 新余市| 垫江县| 武宁县| 徐闻县| 平罗县| 泾阳县| 东源县| 衡南县| 九寨沟县| 红原县| 扶绥县| 微山县| 山东省| 潞城市| 和政县| 城固县| 珠海市| 磴口县|