Det er muligt at rydde cachen for at måle ydeevnen, men det er meget uhåndterligt.
Et meget godt mål til at spore opnået ydeevne af tuning-indsatsen er at tælle antallet af læseblokke under udførelse af forespørgsler. En af de nemmeste måder at gøre dette på er at bruge sqlplus med autotrace, som sådan:
indstil kun autosporing
udgange
...Statistik---------------------------------------- ------------------ 0 rekursive kald 0 db blok får 1 konsistent får 0 fysiske læsninger 0 redo størrelse 363 bytes sendt via SQL*Net til klient 364 bytes modtaget via SQL*Net fra klient 4 SQL*Net rundrejser til/fra klient 0 sorteringer (hukommelse) 0 sorteringer (disk) 1 rækker behandlet
Antallet af læste blokke, det være sig fra cache eller fra disk, er konsistente gets
.
En anden måde er at køre forespørgslen med øget statistik, dvs. med tippet gather_plan_statistics
og se derefter på forespørgselsplanen fra markørens cache:
automatisk autotrace offset serveroutput fravælg * fra tabel(dbms_xplan.display_cursor(null,null,'typical allstats'));
Antallet af læste blokke udlæses i kolonne buffere
.
--------------------------------------------------- -------------------------------------------------- -----------------------| Id | Betjening | Navn | Starter | E-rækker | Omkostninger (%CPU)| E-tid | A-rækker | A-Time | Buffere |------------------------------------------------ -------------------------------------------------- ------------------| 0 | VÆLG UDTALELSE | | 3 | | 1 (100)| | 3 |00:00:00.01 | 3 || 1 | SORTERINGSSAMT | | 3 | 1 | | | 3 |00:00:00.01 | 3 || 2 | INDEKS FULD SCAN| ABCDEF | 3 | 176 | 1 (0)| 00:00:01 | 528 |00:00:00.01 | 3 |------------------------------------------------ -------------------------------------------------- ------------------