प्रदर्शन को मापने के लिए कैश साफ़ करना संभव है लेकिन बहुत बोझिल है।
ट्यूनिंग प्रयासों के प्राप्त प्रदर्शन को ट्रैक करने के लिए एक बहुत अच्छा उपाय क्वेरी निष्पादन के दौरान रीड ब्लॉक की संख्या की गणना करना है। ऐसा करने का सबसे आसान तरीका ऑटोट्रेस के साथ एसक्लप्लस का उपयोग करना है, जैसे:
set autotrace traceonly
<your query>
आउटपुट
...
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
1 consistent gets
0 physical reads
0 redo size
363 bytes sent via SQL*Net to client
364 bytes received via SQL*Net from client
4 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
पढ़े गए ब्लॉकों की संख्या, चाहे वह कैश से हो या डिस्क से, consistent gets
।
दूसरा तरीका क्वेरी को बढ़े हुए आँकड़ों के साथ चलाना है यानी संकेत के साथ gather_plan_statistics
और फिर कर्सर कैश से क्वेरी प्लान देख रहे हैं:
auto autotrace off
set serveroutput off
<your query with hint gather_plan_statistics>
select * from table(dbms_xplan.display_cursor(null,null,'typical allstats'));
पढ़े गए ब्लॉकों की संख्या buffers
. कॉलम में आउटपुट है ।
---------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 3 | | 1 (100)| | 3 |00:00:00.01 | 3 |
| 1 | SORT AGGREGATE | | 3 | 1 | | | 3 |00:00:00.01 | 3 |
| 2 | INDEX FULL SCAN| ABCDEF | 3 | 176 | 1 (0)| 00:00:01 | 528 |00:00:00.01 | 3 |
---------------------------------------------------------------------------------------------------------------------