Advertisement
tmmdv

desc index costing in sort

Oct 31st, 2023 (edited)
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. set termout on echo on feed on
  2. drop table emp purge;
  3.  
  4. create table emp as select * from hr.employees;
  5. create index i5 on emp(last_name,to_char(hire_date,'yyyy') desc);
  6.  
  7. exec dbms_stats.gather_table_stats(null, 'EMP', method_opt=>'for all columns size 1');
  8. exec dbms_stats.gather_table_stats(null, 'EMP', method_opt=>'for all hidden columns size 1');
  9.  
  10. alter session set statistics_level = all;
  11.  
  12. set serveroutput off linesize 200 pagesize 9999
  13. select value from v$diag_info where name = 'Default Trace File';
  14.  
  15. set feedback only
  16. select last_name, to_char(hire_date,'yyyy') from emp order by last_name, to_char(hire_date,'yyyy') desc;
  17. set feedback on
  18. select * from table(dbms_xplan.display_cursor(null,null,'allstats last +cost +projection'));
  19.  
  20. set feedback only
  21. alter session set events '10053 trace name context forever, level 1';
  22. select /*+ index(emp i5) */ last_name, to_char(hire_date,'yyyy') from emp order by 1, 2 desc;
  23. alter session set events '10053 trace name context off';
  24. set feedback on
  25. select * from table(dbms_xplan.display_cursor(null,null,'allstats last +cost +projection'));
  26.  
  27. DOC
  28. select last_name, to_char(hire_date,'yyyy') from emp order by last_name, to_char(hire_date,'yyyy') desc
  29.  
  30. Plan hash value: 3127847031
  31.  
  32. ------------------------------------------------------------------------------------------------
  33. | Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| A-Rows | A-Time | Buffers |
  34. ------------------------------------------------------------------------------------------------
  35. | 0 | SELECT STATEMENT | | 1 | | 1 (100)| 107 |00:00:00.01 | 9 |
  36. | 1 | INDEX FULL SCAN | I5 | 1 | 107 | 1 (0)| 107 |00:00:00.01 | 9 |
  37. ------------------------------------------------------------------------------------------------
  38.  
  39. Column Projection Information (identified by operation id):
  40. -----------------------------------------------------------
  41.  
  42. 1 - "LAST_NAME"[VARCHAR2,25], "EMP"."SYS_NC00012$"[RAW,7]
  43.  
  44.  
  45. select /*+ index(emp i5) */ last_name, to_char(hire_date,'yyyy') from emp order by 1, 2 desc
  46.  
  47. Plan hash value: 3127847031
  48.  
  49. ------------------------------------------------------------------------------------------------
  50. | Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| A-Rows | A-Time | Buffers |
  51. ------------------------------------------------------------------------------------------------
  52. | 0 | SELECT STATEMENT | | 0 | | 16 (100)| 0 |00:00:00.01 | 0 |
  53. | 1 | INDEX FULL SCAN | I5 | 1 | 107 | 1 (0)| 107 |00:00:00.01 | 9 |
  54. ------------------------------------------------------------------------------------------------
  55.  
  56. Column Projection Information (identified by operation id):
  57. -----------------------------------------------------------
  58.  
  59. 1 - "EMP".ROWID[ROWID,10], "LAST_NAME"[VARCHAR2,25], "EMP"."SYS_NC00012$"[RAW,7]
  60. #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement