首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

请问:语句的执行快慢有关问题

2013-08-01 
请教:语句的执行快慢问题vf9中,自由表中没有主键,但数据量很大的情况下,用replace跟用update比较,哪个更快

请教:语句的执行快慢问题
vf9中,自由表中没有主键,但数据量很大的情况下,用replace跟用update比较,哪个更快?

[解决办法]
这个问题没有简单答案

如果你熟悉 vfp 或 foxpro 的 Rushmore 技术,且 for 条件是可优化的,你也熟悉 replace 的 next, rest 特别是 while 条件的用法,replace 应该会快一些。
如果你不熟悉这些技术,使用 update sql 语句更明智些。

上面的断言基于下列原因:
1. update sql 使用记录锁来完成更新操作,这有利于多用户环境,但也同时损失了性能
2. update sql 会在需要的时候自动创建临时索引,虽然 update 和 replace 都会自动利用已有的索引,但在没有已建好的索引情况下,update 会好于 replace

另外,replace 会考虑已打开表上的 set filter 条件,而 update sql 不受它的影响


[解决办法]
因为影响因素比较多,你还不确定使用或不使用哪些因素,所以版主说没有简单的答案。
在结合你的实际表,你更新条件等上面版主提到的因素,测试后才能准确知道你本次应该用 Replace 还是 Update。

热点排行