Sahand
Sahand

Reputation: 87

My simple oracle query takes too long to complete

I'm trying to run the following SQL statement that is taking too long to finish in Oracle.

Here is my query:

SELECT timestamp from data
 WHERE (timestamp IN 
            (SELECT MIN (timestamp) FROM data
             WHERE (( TIMESTAMP BETWEEN :t1 AND :t2))

If anyone can help with optimising this query I would be very grateful.

Upvotes: 0

Views: 1722

Answers (1)

Gordon Linoff
Gordon Linoff

Reputation: 1269503

All you need to speed your query is an index on timestamp:

create index data_timestamp on data(timestamp);

If you are expecting only one result, you can also do:

SELECT MIN(timestamp)
FROM data
WHERE TIMESTAMP BETWEEN :t1 AND :t2

I'm not sure why you would want to output the timestamp multiple times.

Upvotes: 3

Related Questions