下面这个贴子中讨论了很多ACCESS中的一些猜想假设。Access或其它数据库操作效率问题.欢迎讨论http://topic.csdn.net/u/20090514/10/a93475bd-e67e-45c8-aa1e-8716......
下面这个贴子中讨论了很多ACCESS中的一些猜想假设。
Access或其它数据库操作效率问题.欢迎讨论
http://topic.csdn.net/u/20090514/10/a93475bd-e67e-45c8-aa1e-87168ba36d02.html#replyachor
比如表 table1 (id int primary key,cname varchar(10) ---- ------- | id | cname | ---- ------- | 1 | 1 | | 2 | 2 | | 3 | 3 | | 4 | 4 | | 5 | 5 | | 6 | 6 | | 7 | 7 | | 8 | 8 | | .. | ... | ---- -------
如果现在有一记录 (1234, 'KKKK'), 需要添加。那么两种方法。
方法一: 先做判断记录 1234是否存在,存在的话就 update table1 set cname = 'KKKK' where id=1234; 否则就 insert into table1 values(1234,'KKKK');
方法二: 不做任何判断,直接先 delete from table1 where id=1234; insert into table1 values(1234,'KKKK');
那么哪一种方法快?
在未做试验前,感觉上第二种方法,删除再添加记录应该是比较慢的一种。 但只是凭感觉,事实上是什么样呢,于是做了个简单的测试。
ACCESS 2003 SP3 Windows 2000 SP4
新建一个空的t.mdb文件,然后建表 table1 (id int primary key,cname varchar(10)
新建一个模块,代码如下。
|