我有个特别complex的SQL query cursor, takes a long time (a few hours)to complete. And very often it failed with oracle error "snapshot too old rollback segment too small". 原因是我用的table data 都是changing frequently的。我就决定把里面的每个subquery 都分别写到temp table里,然后在main cursor 里在join these temp tables. 我觉得这样应该能work的。可是reviewer让我证明这样能解决问题。烦死了,query那么大又不是我的错。db 高手们有什么好主意? 除了加 table index外,query还能怎么optimize?