insert_select性能问题
时间:2011-07-20
来源:互联网
使用的测试数据库是mysql官网的:employees。
想用memory引擎的表,来保存一个查询子集,如下:(salaries总共有2800000条,salary没有索引)
create table t4(id int,index using hash(id))engine=memory;
insert into t4(id) select emp_no from salaries where salary=90930;
执行insert操作,发现不管后面的子查询结果集为多大,整个insert 操作都要用4sec多。
当我单独把后面的select emp_no from salaries where salary=90930,拿来执行发现所用的时间
为2sec左右。那么这个就否可以说明前面的insert 操作用了另外2sec,但是这个insert其实可能只
insert 10几条记录。这个是为什么呢?查询是比较慢,但insert应该不至于。
所以我又测试了另外一种情况:(300000条,emp_no是索引)
insert into t4(id) select emp_no from employees;
该过程总共才用了1sec左右。
这是为什么?哪位同学帮忙解释一下。谢谢!
想用memory引擎的表,来保存一个查询子集,如下:(salaries总共有2800000条,salary没有索引)
create table t4(id int,index using hash(id))engine=memory;
insert into t4(id) select emp_no from salaries where salary=90930;
执行insert操作,发现不管后面的子查询结果集为多大,整个insert 操作都要用4sec多。
当我单独把后面的select emp_no from salaries where salary=90930,拿来执行发现所用的时间
为2sec左右。那么这个就否可以说明前面的insert 操作用了另外2sec,但是这个insert其实可能只
insert 10几条记录。这个是为什么呢?查询是比较慢,但insert应该不至于。
所以我又测试了另外一种情况:(300000条,emp_no是索引)
insert into t4(id) select emp_no from employees;
该过程总共才用了1sec左右。
这是为什么?哪位同学帮忙解释一下。谢谢!
作者: 项仲_TB 发布时间: 2011-07-20
自己顶一下。
作者: 项仲_TB 发布时间: 2011-07-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28