电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

詳解MySQL8.0​ 字典表增強(qiáng)

瀏覽:11日期:2023-10-12 17:05:16

MySQL中數(shù)據(jù)字典是數(shù)據(jù)庫(kù)重要的組成部分之一,INFORMATION_SCHEMA首次引入于MySQL 5.0,作為一種從正在運(yùn)行的MySQL服務(wù)器檢索元數(shù)據(jù)的標(biāo)準(zhǔn)兼容方式。用于存儲(chǔ)數(shù)據(jù)元數(shù)據(jù)、統(tǒng)計(jì)信息、以及有關(guān)MySQL server的訪問(wèn)信息(例如:數(shù)據(jù)庫(kù)名或表名,字段的數(shù)據(jù)類型和訪問(wèn)權(quán)限等)。

8.0之前:

詳解MySQL8.0​ 字典表增強(qiáng)

1、元數(shù)據(jù)來(lái)自文件

2、采用MEMORY表引擎

3、frm文件 存放表結(jié)構(gòu)信息

4、opt文件,記錄了每個(gè)庫(kù)的一些基本信息,包括庫(kù)的字符集等信息

5、.TRN,.TRG文件用于存放觸發(fā)器的信息內(nèi)容

5.6> SELECT TABLE_SCHEMA ,ENGINE ,COUNT(*) from information_schema.tables where table_schema in (’information_schema’ ,’mysql’,’performance_schema’, ’sys’) group by TABLE_SCHEMA ,ENGINE;+--------------------+--------------------+----------+| TABLE_SCHEMA | ENGINE | COUNT(*) |+--------------------+--------------------+----------+| information_schema | MEMORY | 49 || information_schema | MyISAM | 10 || mysql | CSV| 2 || mysql | InnoDB | 6 || mysql | MyISAM | 21 || performance_schema | PERFORMANCE_SCHEMA | 52 |+--------------------+--------------------+----------+

5.7> SELECT TABLE_SCHEMA ,ENGINE ,COUNT(*) from information_schema.tables where table_schema in (’information_schema’ ,’mysql’,’performance_schema’, ’sys’) group by TABLE_SCHEMA ,ENGINE;+--------------------+--------------------+----------+| TABLE_SCHEMA | ENGINE | COUNT(*) |+--------------------+--------------------+----------+| information_schema | InnoDB | 10 || information_schema | MEMORY | 51 || mysql | CSV| 2 || mysql | InnoDB | 19 || mysql | MyISAM | 10 || performance_schema | PERFORMANCE_SCHEMA | 87 || sys| NULL| 100 || sys| InnoDB | 1 |+--------------------+--------------------+----------+

8.0之后:

詳解MySQL8.0​ 字典表增強(qiáng)

1、元數(shù)據(jù)存在表中

2、全部遷到mysql庫(kù)下,改為innodb表引擎,且被隱藏

3、information_schema下只能通過(guò)view查看

4、NULL的全部為view

5、存儲(chǔ)在單獨(dú)的表空間mysql.ibd

8.0> select TABLE_SCHEMA,ENGINE,count(*) from tables where TABLE_SCHEMA in (’information_schema’,’mysql’,’performance_schema’,’sys’) group by TABLE_SCHEMA,ENGINE;+--------------------+--------------------+----------+| TABLE_SCHEMA | ENGINE | count(*) |+--------------------+--------------------+----------+| information_schema | NULL| 65 || mysql | InnoDB | 31 || mysql | CSV| 2 || performance_schema | PERFORMANCE_SCHEMA | 102 || sys| NULL| 100 || sys| InnoDB | 1 |+--------------------+--------------------+----------+

盡管5.7有了一些改進(jìn),但I(xiàn)NFORMATION_SCHEMA的性能仍然是我們?cè)S多用戶的主要痛點(diǎn)。在當(dāng)前INFORMATION_SCHEMA實(shí)現(xiàn)方式下產(chǎn)生的性能問(wèn)題背后的關(guān)鍵原因是,INFORMATION_SCHEMA表的查詢實(shí)現(xiàn)方式是在查詢執(zhí)行期間創(chuàng)建臨時(shí)表。

如下,當(dāng)我們查詢表碎片時(shí):

5.7> explain select round(DATA_FREE/1024/1024) as DATA_FREE from information_schema.TABLES where DATA_FREE/1024/1024 > 1024 and TABLE_SCHEMA not in (’information_schema’, ’mysql’, ’performance_schema’, ’sys’);+----+-------------+--------+------+---------------+------+---------+------+------+-----------------------------------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra|+----+-------------+--------+------+---------------+------+---------+------+------+-----------------------------------------------------+| 1 | SIMPLE | TABLES | ALL | NULL | NULL | NULL | NULL | NULL | Using where; Open_full_table; Scanned all databases |+----+-------------+--------+------+---------------+------+---------+------+------+-----------------------------------------------------+

Extra信息會(huì)有Open_full_table; Scanned all databases 。Skip_open_table,Open_frm_only,Open_full_table這些值表示適用于INFORMATION_SCHEMA表查詢時(shí)對(duì)文件打開(kāi)的優(yōu)化;

Skip_open_table:表文件不需要打開(kāi)。信息已經(jīng)通過(guò)掃描數(shù)據(jù)庫(kù)目錄在查詢中實(shí)現(xiàn)可用。 Open_frm_only:只需要打開(kāi)表的.frm文件。 Open_full_table:未優(yōu)化的信息查找。必須打開(kāi).frm、.MYD和.MYI文件。 Scanned N databases:指在處理information_schema查詢時(shí),有多少目錄需要掃描。

如果一個(gè)MySQL實(shí)例有上百個(gè)庫(kù),每個(gè)庫(kù)又有上百?gòu)埍恚琁NFORMATION_SCHEMA查詢最終會(huì)從文件系統(tǒng)中讀取每個(gè)單獨(dú)的frm文件,造成很多I/O讀取。并且最終還會(huì)消耗更多的CPU來(lái)打開(kāi)表并準(zhǔn)備相關(guān)的內(nèi)存數(shù)據(jù)結(jié)構(gòu)。它也確實(shí)會(huì)嘗試使用MySQL server層的表緩存(系統(tǒng)變量table_definition_cache ),但是在大型實(shí)例中,很少有一個(gè)足夠大的表緩存來(lái)容納所有的表。所以內(nèi)存使用量會(huì)急劇上升,甚至出現(xiàn)oom。

詳解MySQL8.0​ 字典表增強(qiáng)

通常我們習(xí)慣通過(guò)以下手段解決此問(wèn)題:

1、庫(kù)表拆分,減少單實(shí)例打開(kāi)文件數(shù)量

2、調(diào)整table_definition_cache和table_open_cache數(shù)量

3、添加物理內(nèi)存

mysql 8.0 問(wèn)世之后,又提供了一種選擇,由于字典表采用innodb引擎,而且字典表可以使用索引。

下面的圖解釋了MySQL 5.7和8.0設(shè)計(jì)上的區(qū)別:

詳解MySQL8.0​ 字典表增強(qiáng)

8.0> explain select table_name,table_rows,concat(round(DATA_LENGTH/1024/1024, 2), ’MB’) as size,concat(round(INDEX_LENGTH/1024/1024, 2), ’MB’) as index_size,DATA_FREE/1024/1024 AS data_free_MB from information_schema.TABLES where table_schema not in (’information_schema’,’performance_schema’,’test’) order by data_free_MB desc limit 10;+----+-------------+-------+------------+--------+--------------------+------------+---------+-------------------------------+------+----------+----------------------------------------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+-------+------------+--------+--------------------+------------+---------+-------------------------------+------+----------+----------------------------------------------+| 1 | SIMPLE | cat | NULL | index | PRIMARY | name | 194 | NULL | 1 | 100.00 | Using index; Using temporary; Using filesort || 1 | SIMPLE | sch | NULL | ref | PRIMARY,catalog_id | catalog_id | 8 | mysql.cat.id | 6 | 50.00 | Using where; Using index || 1 | SIMPLE | tbl | NULL | ref | schema_id | schema_id | 8 | mysql.sch.id | 52 | 100.00 | Using where || 1 | SIMPLE | ts | NULL | eq_ref | PRIMARY | PRIMARY | 8 | mysql.tbl.tablespace_id | 1 | 100.00 | NULL || 1 | SIMPLE | stat | NULL | eq_ref | PRIMARY | PRIMARY | 388 | mysql.sch.name,mysql.tbl.name | 1 | 100.00 | NULL || 1 | SIMPLE | col | NULL | eq_ref | PRIMARY | PRIMARY | 8 | mysql.tbl.collation_id | 1 | 100.00 | Using index |+----+-------------+-------+------------+--------+--------------------+------------+---------+-------------------------------+------+----------+----------------------------------------------+

以上就是詳解MySQL8.0​ 字典表增強(qiáng)的詳細(xì)內(nèi)容,更多關(guān)于MySQL8.0​ 字典表增強(qiáng)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 浙江浩盛阀门有限公司| 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 贝壳粉涂料-内墙腻子-外墙腻子-山东巨野七彩贝壳漆业中心 | 计算机毕业设计源码网| 低温等离子清洗机(双气路进口)-嘉润万丰| 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | Jaeaiot捷易科技-英伟达AI显卡模组/GPU整机服务器供应商 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 20年条刷老厂-条刷-抛光-工业毛刷辊-惠众毛刷 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 烽火安全网_加密软件、神盾软件官网 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 真丝围巾|真丝丝巾|羊绒围巾|围巾品牌|浙江越缇围巾厂家定制 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 |