南阳卧龙区高端网站建设价格,镇江专业网站建设,动画制作学习,卖域名做非法网站前言
我们这里 来探讨一下 insert into $fields select $fields from $table;
的相关实现, 然后 大致来看一下 为什么 他能这么快
按照 我的思考, 应该里里面有 批量插入才对, 但是 调试结果 发现令我有一些意外
呵呵 果然 只有调试才是唯一的真理 测试数据表如下
CREATE…前言
我们这里 来探讨一下 insert into $fields select $fields from $table;
的相关实现, 然后 大致来看一下 为什么 他能这么快
按照 我的思考, 应该里里面有 批量插入才对, 但是 调试结果 发现令我有一些意外
呵呵 果然 只有调试才是唯一的真理 测试数据表如下
CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(128) DEFAULT NULL,field2 varchar(128) DEFAULT NULL,PRIMARY KEY (id) USING BTREE,UNIQUE KEY field_1_2 (field1) USING BTREE
) ENGINEInnoDB AUTO_INCREMENT101 DEFAULT CHARSETutf8CREATE TABLE tz_test_02 (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(128) DEFAULT NULL,field2 varchar(128) DEFAULT NULL,PRIMARY KEY (id) USING BTREE,UNIQUE KEY field_1_2 (field1) USING BTREE
) ENGINEInnoDB AUTO_INCREMENT101 DEFAULT CHARSETutf8 tz_test 的数据如下 insert into select 的实现
执行 sql 如下 “insert into tz_test_02 select * from tz_test;” 源表数据行的迭代
这里的 sub_select 是查询以及迭代 源表, 然后 之后传递到 下游的 Query_result_insert 进行处理一行的数据 整个流程大致如下, 显示 将源行的数据拷贝到目标行, 然后 在持久化到目标表 源表到目标表 数据行的拷贝
数据的拷贝, 将数据从 源表的源字段列表 拷贝到 目标表的目标字段列表 目标表 数据行的持久化
然后向目标表中插入记录的实现在这里 然后 之所以效率高, 是因为 他只需要 mysql 内部迭代
没有和外部程序交互的开销, 因此 它的效率 “较高” 完