ホームページ >データベース >mysql チュートリアル >ACCESS的真假:一、DROP删除表再重建比Delete from Table1快吗?

ACCESS的真假:一、DROP删除表再重建比Delete from Table1快吗?

WBOY
WBOYオリジナル
2016-06-07 15:37:231474ブラウズ

有时候当我们需要把表中记录全部删除的时候,在很多数据库系统中我们会习惯性选择用truncate table 来实现,truncate table 在很多DBMS中是认为DDL语句,等同于drop table 然后再create table. 速度效率上一般认为远比delete from table高得多。 虽然Drop ta

有时候当我们需要把表中记录全部删除的时候,在很多数据库系统中我们会习惯性选择用truncate table 来实现,truncate table 在很多DBMS中是认为DDL语句,等同于drop table 然后再create table. 速度效率上一般认为远比delete from table高得多。

虽然Drop table 和 delete 没什么可比性,有些类似于去拿 insert 和 select 比较,本身二者之间没有什么可替代性。 drop+create 只能与 delete from tbl; 功能上相通,并且要求在这个表上没外键参照。在实际系统中也很少会设计出需要delete from tbl没有任何条件的全部删除情景。能想到的只有某些时候会用一些临时表来处理数据,不过既然是临时表,一般是用完就删除了,也不需要用delete from tbl;

不地仍是对这个观点感觉怀疑,所以做了个测试以求证。

 

求证: ACCESS中DROP删除表再重建比Delete from Table1快

 

不过还是设计了下面的测试方案。表table1中有1万条记录,(如果嫌少可以影响测试结果大家可以自己调整一下试试贴出结果。) 然后复制成1000这样相同的表。分别用drop / create 和delete对比测试。由于在同一机器上做对比测试,所以理论上在其它不同环境下(不同CPU速度,不同内存,。。。)应该会是相同的相对结果。

 


 

测试结果

t1 start.    5/15/2009 8:03:12 PM
t1 end  .    5/15/2009 8:03:16 PM
t2 start.    5/15/2009 8:03:31 PM
t2 end  .    5/15/2009 8:03:33 PM

 

测试结论
T2() 耗时

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。