Home » RDBMS Server » Performance Tuning » optimized search for max() function
optimized search for max() function [message #305194] Mon, 10 March 2008 01:53 Go to next message
nooruls143
Messages: 8
Registered: March 2008
Junior Member
Hi,
I am searching for a max(reading_time), sysdate function to get the maximum reading_time and sysdate, but it takes 20 seconds to return. I have an index for it but it is using another index even if I try to use index in hints

eg:

select /*+ index(TRACKING_DATA$REVCODED) */ round((sysdate - max(reading_time))*84600/60,2) as time_diff, sysdate from almasar.bt_mls_tracking_data a where reversegeocoded = 1

when I check explain plan, it is using full scan. Please give me optimized way to achieve this.

Please help,
Regards,
Noor

P.S. - I also used /*+ rule */, but it works only when I get back single value. I also want sysdate to be returned along with max() value.
Re: optimized search for max() function [message #305195 is a reply to message #305194] Mon, 10 March 2008 01:56 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Remove the hint and post the relevant information requested for all tuning questions.

Read OraFAQ Forum Guide, How to Identify Performance Problem and Bottleneck and OraFAQ Oracle SQL Tuning Guide.

Regards
Michel

[Updated on: Mon, 10 March 2008 01:57]

Report message to a moderator

Re: optimized search for max() function [message #305307 is a reply to message #305195] Mon, 10 March 2008 06:36 Go to previous message
rleishman
Messages: 3728
Registered: October 2005
Location: Melbourne, Australia
Senior Member
You will need an index on (reversegeocoded, reading_time).

You will also need to gather statistics on both the table and the index, and then remove the hint.

Ross Leishman
Previous Topic: Database Metrics for Capacity Planning
Next Topic: Tunning required
Goto Forum:
  


Current Time: Sat Nov 23 01:50:25 CST 2024