【发布时间】:2014-02-26 11:44:23
【问题描述】:
我们开始使用 oracle AQ 和 spring-jms 并且效果很好。但是当大约 1000 条消息通过我的队列 BUS_BILLING_RECEIVE_QT 时,我在下面写了 110000 条选择:
select /*+ INDEX(TAB AQ$_BUS_BILLING_RECEIVE_QT_I) */ tab.rowid, tab.msgid, tab.corrid, tab.priority, tab.delay, tab.expiration , tab.retry_count, tab.exception_qschema, tab.exception_queue, tab.chain_no, tab.local_order_no, tab.enq_time, tab.time_manager_info, tab.state, tab.enq_tid, tab.step_no, tab.sender_name, tab.sender_address, tab.sender_protocol, tab.dequeue_msgid, tab.user_prop, tab.user_data from "WORKLOAD_PROD"."BUS_BILLING_RECEIVE_QT" tab where q_name = :1 and (state = :2 ) order by q_name, state, enq_time, step_no, chain_no, local_order_no for update skip locked
它会导致性能问题... 可能有人知道是哪个产生了这个选择,以及我怎样才能减少这个巨大的数量?
【问题讨论】:
标签: spring-jms oracle-aq advanced-queuing