加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

第16问:创建一张表时,MySQL 的统计表是如何变化的?

发布时间:2022-10-15 10:54:33 所属栏目:MySql教程 来源:
导读:  本文关键字:统计表,debug

  问题

  我们知道在 MySQL 中创建一张表时,一些统计表会发生变化,比如:mysql/innodb_index_stats,会多出几行对新表的描述。

  那么会变更几张表?这些统计表是
  本文关键字:统计表,debug
 
  问题
 
  我们知道在 MySQL 中创建一张表时,一些统计表会发生变化,比如:mysql/innodb_index_stats,会多出几行对新表的描述。
 
  那么会变更几张表?这些统计表是如何变化的?
 
  实验
 
  本期我们用 MySQL 提供的 DBUG 工具来研究 MySQL 的 SQL 处理流程。
 
  起手先造个实例
 
  这里得稍微改一下实例的启动文件 start,将 CUSTOM_MYSQLD 改为 mysqld-debug:

  可以看到 create table 的过程中,MySQL 的一些细节操作,比如分配内存 alloc_root 等
 
  可以看到输出变成了调用树的形式,现在就可以分辨出 alloc_root 分配的内存,是为了解析 SQL 时用的(mysql_parse)
 
  可以看到 MySQL 在这里非常机智,直接执行了一个内置的存储过程来更新统计表。
 
  本次实验中,我们借助了 MySQL 的 DBUG 包MySQL 创建数据库,来让 MySQL 将处理过程暴露出来。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。
 
  这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制。
 
  关于爱可生
 
  上海爱可生信息技术股份有限公司是国内开源数据库解决方案领导者、工业互联网高维数据应用创新者。爱可生为产业互联网创新应用提供高性价比、快速落地实现的多数据库管理平台、分布式数据库系统、数据库容器云平台、多地多中心跨云容灾等解决方案。
 
  在工业互联网相关垂直行业,深入分析数据价值,构建数据中台和业务中台的基础软件PaaS平台,用数据技术驱动企业高质量增长。公司产品已被广泛应用于各行业,累计用户超过400家,其中包括工商银行、中国人寿、中国太保、国家电网、上汽集团、中国移动、华为等30多家世界500强企业。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!