mysql视图改变原表变吗_sql中修改了基本表的数据视图也会自动随之修改吗?

d:开启各个调试点的输出

O,/tmp/mysqld.trace:将调试结果输出到指定文件

fe443fa89366f48e8012952764816798.png

请点击输入图片描述

然后我们创建了一张表,来看一下调试的输出结果:

9a74f07efa3f261987fbb885fd5921c9.png

请点击输入图片描述

可以看到 create table 的过程中,MySQL 的一些细节操作,比如分配内存 alloc_root 等

这样看还不够直观,我们增加一些信息:

07147a3ec97321629aec948dea992e58.png

请点击输入图片描述

来看看效果:

1f52ec1bf899b535ca98118a2df08558.png

请点击输入图片描述

可以看到输出变成了调用树的形式,现在就可以分辨出 alloc_root 分配的内存,是为了解析 SQL 时用的(mysql_parse)

我们再增加一些有用的信息:

0f02bbd65145b92e243b29b3c38561c8.png

请点击输入图片描述

可以看到结果中增加了文件名和行号:

d495a718cec097dea9c3442d2d52651c.png

请点击输入图片描述

现在我们可以在输出中找一下统计表相关的信息:

b9e15fd9f91061c2fde7b6686963584e.png

请点击输入图片描述

可以看到 MySQL 在这里非常机智,直接执行了一个内置的存储过程来更新统计表。

沿着 que_eval_sql,可以找到其他类似的统计表,比如下面这些:

93bda55b38617b4c9b1c7f93fe122a18.png

请点击输入图片描述

9a63a13aa1a1b3d4741fd14820b05281.png

请点击输入图片描述

本次实验中,我们借助了 MySQL 的 DBUG 包,来让 MySQL 将处理过程暴露出来。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。

这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值