我有一个表,我需要按类别进行约束,然后根据某个日期范围找到所有重叠的日期。这需要大约2秒,这对于以大约50/s的速度发生的每个事务来说都是不可接受的。另一种选择是创建一些计时表--然后,我不知道这是一个多好的想法,因为事情可能会不同步。
Date on Rent # Rented Category
9/5/2011 5 CATEGORY1在Oracle (PL/SQL,如果重要的话)中,我如何保持这种性能,同时确保并发事务不会使增量/减量比实际少一个或多一个而搞砸呢?
我有两种类型的交易,有点像搜索和租房。只有房租才会更新这个计价表(并从该表中进行搜索)。我不介意租金下降,但不希望搜索性能受到影响。租金可能出现的频率高达5-10次/秒。
发布于 2011-09-17 04:35:44
Oracle使用锁来确保查询期间的数据一致性。它们如何工作的细节可能会变得复杂,但其效果是它保证了对tally表的更新/插入将只使用主表中的数据,就像查询开始时一样。如果在对tally表执行更新/插入操作时,对主表进行了另一次更新或插入,则不会对其造成影响。
你必须对你的数据进行实验,看看保存一个汇总/计数表是对你有帮助还是有坏处。这真的取决于主表更新的速度,你花了多少时间来更新你的统计表格,你通过选择它节省了多少时间,以及你需要选择的更新程度。
https://stackoverflow.com/questions/7449973
复制相似问题