- 論壇徽章:
- 0
|
使用的測試數(shù)據(jù)庫是mysql官網(wǎng)的:employees。
想用memory引擎的表,來保存一個(gè)查詢子集,如下:(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;
執(zhí)行insert操作,發(fā)現(xiàn)不管后面的子查詢結(jié)果集為多大,整個(gè)insert 操作都要用4sec多。
當(dāng)我單獨(dú)把后面的select emp_no from salaries where salary=90930,拿來執(zhí)行發(fā)現(xiàn)所用的時(shí)間
為2sec左右。那么這個(gè)就否可以說明前面的insert 操作用了另外2sec,但是這個(gè)insert其實(shí)可能只
insert 10幾條記錄。這個(gè)是為什么呢?查詢是比較慢,但insert應(yīng)該不至于。
所以我又測試了另外一種情況:(300000條,emp_no是索引)
insert into t4(id) select emp_no from employees;
該過程總共才用了1sec左右。
這是為什么?哪位同學(xué)幫忙解釋一下。謝謝! |
|