ELAPSED_TIME is time on the server. Not time reported by the client.
I ran a query to retrieve 10,000 rows. My SQL*Plus client reports that it took 30.67seconds. But V$SQL shows that it took 7centi-seconds. EDIT : Correction : The figure seems to be 7milliseconds. The 30seconds were lost in SQL*Net round-trips and formatting the results on the SQL*Plus client.
query run .... results returned ..
10000 rows selected.
Elapsed: 00:00:30.67
SQL>l
1* SELECT * FROM HKC_SOURCE_1 WHERE ROWNUM < 10001
SQL>select sql_text, elapsed_Time/1000000, cpu_time/1000000 from v$sql where sql_text like 'SELECT * FROM HKC_SOURCE_1 WHERE ROWNUM %';
SQL_TEXT
------------------------------------------------------------------------------------------------------------------------------------
ELAPSED_TIME/1000000 CPU_TIME/1000000
-------------------- ----------------
SELECT * FROM HKC_SOURCE_1 WHERE ROWNUM < 10001
.006772 .001999
Hemant K Chitale