# 哇! 一次问这么多...

Posted by 小吴 on July 08, 1999 at 13:39:21:

In Reply to: 请问rdConcurRowVer,rdConcurValues有何不同？ posted by 王空空 on July 08, 1999 at 09:58:43:

你的每个问题要回答起来每个都是一大篇，我先简单答覆一下好了。

0. Concurrent row Verion 及 concurrent row value 是指在乐观锁定时，当资料下达更新的命令，系统检查该笔资料列是否被修正的方法。
row version 是比较 timestamp 栏位，如果其它人更动了该笔资料列，但更动的内容完全一样，或是更动为最初的值，则因 timestamp 的值一定改变了，所以仍然会发生错误。
row value 是去比较该资料录的值是否和锁定时相同，如果其它人更动了该笔资料列，但更动的内容完全一样，或是更动为最初的值，则因内容一模一样，则仍不会发生错误。

SQL 6.5 好像只支援 concurrent row value 而已。SQL 7 我就不知道了。

1. 索引的目的在于增进 select/update/delete 的速率，而且会减慢 insert 的速率。你问我要怎么选....我没意见耶。

2. 一句话，transaction 愈短愈好。至于参数倒是没什么影响。

3. 没有特殊需求的话尽可能使用 forward only cursor。可降低 server 的负载。

Follow Ups: