例如 t1(id auto_increment primary key,sname varchar(10) not null, address varchar(100))
-- 显式方式向地址字段插入空值
insert into t1 (sname,address) valuse('John',null)
-- 隐式方式向地址字段插入空值
insert into t1 (sname) valuse('John')
简单记录,可能有误,主要记录重要的接口以备后用。
我建了一个简单的表,插入一个简单的数据。
主要跟踪这个简单的插入语句在插入过程的经历。主要集中在插入流程和提交流程,不包含前期的其他阶段。
下面是这个语句经历的所有的阶段:
主要集中在:
两个阶段
对于 begindelete from t1 where id=2;insert into t1 values(2) 的会调用row_ins_clust_index_entry_by_modify函数直接去掉del flag,避免额外开销(t1(id int primary key))
可以看到整个语句的流程大概为
这只是大概流程其中很多很多的细节,不过有了入口函数也许好分析一些。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)