【发布时间】:2011-01-21 02:30:18
【问题描述】:
我正在为一个超过 400 万行并预计将增长到 1000 万行的大表测试不同的锁定方案。
我对 SyBase 的体验:
ALLPAGES,极慢的 BCP(输入)并使用属于主键的字段进行更新。
DATAROWS,快速 BCP,快速更新 PK 中的字段,最快选择。
DATAPAGES,最快的 BCP 和更新,比 ALLPAGES 更快的选择,但不如 DATAROWS。
我不是专家,但在我看来,DATAROWS 比 DATAPAGES 阻塞更多,而且我没有看到 DATAPAGES 有任何缺点。
我能找到的唯一支持 DATAROWS 的一点是在使用主键的选择中性能稍快一些,但 DATAPAGES 在更新时要快得多。
有实践经验吗?
这种锁定方案如何比较?
各有优缺点?
我试图阅读它背后的理论,但对我来说不是很清楚。
【问题讨论】:
-
奇怪:我注意到,当我为已经具有 DATAPAGES 锁的表应用新的集群 PK 时,它似乎没有对数据进行物理排序,当我从中选择 * 时,不是所有结果都按 PK 排序...这是为什么呢?
标签: sql database performance locking