静态查询与动态查询性能对比4GL



我正在对有50k条记录的DB执行静态查询。执行需要2分钟。是否有机会通过使查询动态化来提高查询性能?我使用的是openedge10.2版本和OracleDB。

不,动态查询的性能充其量与静态查询相当。如果您确实尝试了动态查询,请确保设置为FORWARD-ONLY。否则,将需要在客户端上维护结果集,以便(可能)在查询中向后移动,这将降低性能。

50000条记录的两分钟更有可能是索引选择问题。WHERE子句可能没有适当地将数据括起来。您也可能只是有一个(非常)调优不好的数据库或服务器。

批量收集应该可以提高性能(尽管其他人已经说过,索引/查询等可能还有另一个问题)

select <fields> bulk collect into <table_type> from <table> where <things are true>

最新更新