国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

概述MySQL統計信息

2024-07-24 12:50:37
字體:
來源:轉載
供稿:網友

MySQL執行SQL會經過SQL解析和查詢優化的過程,解析器將SQL分解成數據結構并傳遞到后續步驟,查詢優化器發現執行SQL查詢的最佳方案、生成執行計劃。查詢優化器決定SQL如何執行,依賴于數據庫的統計信息,下面我們介紹MySQL 5.7中innodb統計信息的相關內容。

MySQL統計信息的存儲分為兩種,非持久化和持久化統計信息。

一、非持久化統計信息

非持久化統計信息存儲在內存里,如果數據庫重啟,統計信息將丟失。有兩種方式可以設置為非持久化統計信息:

1 全局變量,

INNODB_STATS_PERSISTENT=OFF

2 CREATE/ALTER表的參數,

STATS_PERSISTENT=0

非持久化統計信息在以下情況會被自動更新:

1 執行ANALYZE TABLE

2 innodb_stats_on_metadata=ON情況下,執SHOW TABLE STATUS, SHOW INDEX, 查詢 INFORMATION_SCHEMA下的TABLES, STATISTICS

3 啟用--auto-rehash功能情況下,使用mysql client登錄

4 表第一次被打開

5 距上一次更新統計信息,表1/16的數據被修改

非持久化統計信息的缺點顯而易見,數據庫重啟后如果大量表開始更新統計信息,會對實例造成很大影響,所以目前都會使用持久化統計信息。

二、持久化統計信息

5.6.6開始,MySQL默認使用了持久化統計信息,即INNODB_STATS_PERSISTENT=ON,持久化統計信息保存在表mysql.innodb_table_stats和mysql.innodb_index_stats。

持久化統計信息在以下情況會被自動更新:

1 INNODB_STATS_AUTO_RECALC=ON

情況下,表中10%的數據被修改

2 增加新的索引 

innodb_table_stats是表的統計信息,innodb_index_stats是索引的統計信息,各字段含義如下:

innodb_table_stats

database_name

數據庫名

table_name

表名

last_update

統計信息最后一次更新時間

n_rows

表的行數

clustered_index_size

聚集索引的頁的數量

sum_of_other_index_sizes

其他索引的頁的數量

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 波密县| 仁布县| 靖宇县| 汝城县| 平利县| 玉田县| 永寿县| 邯郸县| 太和县| 明溪县| 繁昌县| 资溪县| 团风县| 堆龙德庆县| 乌苏市| 东乌| 和政县| 奇台县| 全南县| 宁乡县| 柳河县| 中牟县| 威宁| 固镇县| 禹州市| 长寿区| 班玛县| 尼玛县| 五峰| 宜宾县| 浠水县| 冀州市| 健康| 色达县| 湖北省| 峨眉山市| 左云县| 乐安县| 沁源县| 太谷县| 日喀则市|