Oracle 11g通过提高IO吞吐量(修改_db_file_optimizer_read_count)来优化全表扫描

  1. --Oracle 11g通过提高IO吞吐量(修改_db_file_optimizer_read_count)来优化全表扫描  
  2.   
  3. SYS@PROD1> select ksppinm, indx from x$ksppi where ksppinm like '%db_file_optimi%';  
  4.   
  5. KSPPINM                  INDX  
  6. ------------------------------ ----------  
  7. _db_file_optimizer_read_count        1074  
  8.   
  9. SYS@PROD1> select ksppstdvl from x$ksppcv where indx=1074;  
  10.   
  11. KSPPSTDVL  
  12. ----------------------------------------------------------------------------------------------------  
  13. 8  
  14.   
  15. --实验表  
  16. SYS@PROD1> select count(*) from tt;  
  17.   
  18.   COUNT(*)  
  19. ----------  
  20.     480000  
  21.       
  22. SYS@PROD1> select count(*) from tt;  --默认值为8时的开销  
  23.   
  24. Execution Plan  
  25. ----------------------------------------------------------  
  26. Plan hash value: 3133740314  
  27.   
  28. -------------------------------------------------------------------  
  29. | Id  | Operation      | Name | Rows  | Cost (%CPU)| Time     |  
  30. -------------------------------------------------------------------  
  31. |   0 | SELECT STATEMENT   |      | 1 |  1546   (1)| 00:00:01 |  
  32. |   1 |  SORT AGGREGATE    |      | 1 |        |      |  
  33. |   2 |   TABLE ACCESS FULL| TT   |   587K|  1546   (1)| 00:00:01 |  
  34. -------------------------------------------------------------------  
  35.   
  36. Note  
  37. -----  
  38.    - dynamic sampling used for this statement (level=2)  
  39.   
  40. SYS@PROD1> alter session set "_db_file_optimizer_read_count"=16;   
  41.   
  42. Session altered.  
  43.   
  44. SYS@PROD1> select count(*) from tt;  --修改为16时,开销降低19%  
  45.   
  46. Execution Plan  
  47. ----------------------------------------------------------  
  48. Plan hash value: 3133740314  
  49.   
  50. -------------------------------------------------------------------  
  51. | Id  | Operation      | Name | Rows  | Cost (%CPU)| Time     |  
  52. -------------------------------------------------------------------  
  53. |   0 | SELECT STATEMENT   |      | 1 |  1250   (1)| 00:00:01 |  
  54. |   1 |  SORT AGGREGATE    |      | 1 |        |      |  
  55. |   2 |   TABLE ACCESS FULL| TT   |   587K|  1250   (1)| 00:00:01 |  
  56. -------------------------------------------------------------------  
  57.   
  58. Note  
  59. -----  
  60.    - dynamic sampling used for this statement (level=2)  
  61.   
  62. SYS@PROD1> alter session set "_db_file_optimizer_read_count"=32;  
  63.   
  64. Session altered.  
  65.   
  66. SYS@PROD1> select count(*) from tt;  --修改为32时,开销降低11%  
  67.   
  68. Execution Plan  
  69. ----------------------------------------------------------  
  70. Plan hash value: 3133740314  
  71.   
  72. -------------------------------------------------------------------  
  73. | Id  | Operation      | Name | Rows  | Cost (%CPU)| Time     |  
  74. -------------------------------------------------------------------  
  75. |   0 | SELECT STATEMENT   |      | 1 |  1103   (1)| 00:00:01 |  
  76. |   1 |  SORT AGGREGATE    |      | 1 |        |      |  
  77. |   2 |   TABLE ACCESS FULL| TT   |   587K|  1103   (1)| 00:00:01 |  
  78. -------------------------------------------------------------------  
  79.   
  80. Note  
  81. -----  
  82.    - dynamic sampling used for this statement (level=2)  
  83.   
  84. SYS@PROD1> alter session set "_db_file_optimizer_read_count"=64;  
  85.   
  86. Session altered.  
  87.   
  88. SYS@PROD1> select count(*) from tt;  --修改为64时,开销降低7%  
  89.   
  90. Execution Plan  
  91. ----------------------------------------------------------  
  92. Plan hash value: 3133740314  
  93.   
  94. -------------------------------------------------------------------  
  95. | Id  | Operation      | Name | Rows  | Cost (%CPU)| Time     |  
  96. -------------------------------------------------------------------  
  97. |   0 | SELECT STATEMENT   |      | 1 |  1029   (1)| 00:00:01 |  
  98. |   1 |  SORT AGGREGATE    |      | 1 |        |      |  
  99. |   2 |   TABLE ACCESS FULL| TT   |   587K|  1029   (1)| 00:00:01 |  
  100. -------------------------------------------------------------------  
  101.   
  102. Note  
  103. -----  
  104.    - dynamic sampling used for this statement (level=2)  
  105.   
  106. SYS@PROD1> alter session set "_db_file_optimizer_read_count"=128;  
  107.   
  108. Session altered.  
  109.   
  110. SYS@PROD1> select count(*) from tt;  --修改为128时,开销降低3.5%  
  111.   
  112. Execution Plan  
  113. ----------------------------------------------------------  
  114. Plan hash value: 3133740314  
  115.   
  116. -------------------------------------------------------------------  
  117. | Id  | Operation      | Name | Rows  | Cost (%CPU)| Time     |  
  118. -------------------------------------------------------------------  
  119. |   0 | SELECT STATEMENT   |      | 1 |   992   (1)| 00:00:01 |  
  120. |   1 |  SORT AGGREGATE    |      | 1 |        |      |  
  121. |   2 |   TABLE ACCESS FULL| TT   |   587K|   992   (1)| 00:00:01 |  
  122. -------------------------------------------------------------------  
  123.   
  124. Note  
  125. -----  
  126.    - dynamic sampling used for this statement (level=2)  
  127.   
  128. SYS@PROD1> alter session set "_db_file_optimizer_read_count"=256;  
  129.   
  130. Session altered.  
  131.   
  132. SYS@PROD1> select count(*) from tt;  --修改为256时,开销不再降低  
  133.   
  134. Execution Plan  
  135. ----------------------------------------------------------  
  136. Plan hash value: 3133740314  
  137.   
  138. -------------------------------------------------------------------  
  139. | Id  | Operation      | Name | Rows  | Cost (%CPU)| Time     |  
  140. -------------------------------------------------------------------  
  141. |   0 | SELECT STATEMENT   |      | 1 |   992   (1)| 00:00:01 |  
  142. |   1 |  SORT AGGREGATE    |      | 1 |        |      |  
  143. |   2 |   TABLE ACCESS FULL| TT   |   587K|   992   (1)| 00:00:01 |  
  144. -------------------------------------------------------------------  
  145.   
  146. Note  
  147. -----  
  148.    - dynamic sampling used for this statement (level=2)  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值