Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Any system parameter can do what "no_merge" do?

user10160672Jan 7 2014 — edited Jan 8 2014

We are trying to move the database to a new server and get performance hit. This is a simple query but with OWM we have more than 10 years historical data in LT tables.

1. With just ordered hint, it takes 6:30 mins to run

SELECT /*+ ordered*/  COUNT (a.id)

  FROM slimdba.neighbourhoods b,slimdba.zoning_polygons a

WHERE   b.id = 170

   AND sdo_relate (a.geometry, b.geometry,  'mask=INSIDE+COVEREDBY+EQUAL querytype=WINDOW' ) = 'TRUE';

2. With parallet hint, it takes 1:05 mins to run

SELECT  /*+ full(b) parallel(b,8) */ COUNT (a.id)

  FROM slimdba.neighbourhoods b,slimdba.zoning_polygons a

WHERE   b.id = 170

   AND sdo_relate (a.geometry, b.geometry,  'mask=INSIDE+COVEREDBY+EQUAL querytype=WINDOW' ) = 'TRUE';

3. With no_merge(b) hint, it only process the current live data in b, it takes only 4 seconds

SELECT  /*+ ordered no_merge(b) */ COUNT (a.id)

  FROM slimdba.neighbourhoods b,slimdba.zoning_polygons a

WHERE   b.id = 170

   AND sdo_relate (a.geometry, b.geometry,  'mask=INSIDE+COVEREDBY+EQUAL querytype=WINDOW' ) = 'TRUE';


In most of the cases our users only care about live data. Is there a system level setting to ask Oracle to filter the live data first instead of using LT table first then filter after the spatial process?

Thanks a lot for any help!!

Sharon

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 5 2014
Added on Jan 7 2014
3 comments
2,408 views