在线咨询

srds(srd是什么意思网络用语)

饭圈srds是什么意思?

srds是“虽然但是”的首字母拼音缩写。 饭圈常见用语。用来表示转折。转自小鸡词典@黄色废料

srds

sql plan中cost值多少算是多的

在sql tuning中只看cost是不够的,可能A sql的cost=80花了2秒,而B sql cost=190只花了0.3秒。还要看sql中所选中的数据读取时间(从磁盘中读取还是内存),排序成本等等。比如下面的执行计划

----------------------------------------------------------

plan hash value: 4202050538

-----------------------------------------------------------------------------------------------------

| id | operation| name| rows | bytes | cost (%cpu)| time|

-----------------------------------------------------------------------------------------------------

|0 | select statement||107 | 15515 |88(2)| 00:00:02 |

|1 | sort order by||107 | 15515 |88(2)| 00:00:02 |

|2 |table access by index rowid| icme_noproject_score |107 | 15515 |87(0)| 00:00:02 |

|* 3 |index range scan| uk_noproject_score|107 ||7(0)| 00:00:01 |

-----------------------------------------------------------------------------------------------------

那总的代价是88,还是88+88+87+7呢?毫无疑问看第一行就可以,是88

cost=(single block i/o cost+ multiblock i/o cost+ cpu cost)/sreadtim

#srds*sreadtim #mrds*mreadtim #cpucycles/cpuspeed

#srds: number of single block reads

#mrds: number of multiblock reads

#cpucycles: number of cpu cycles

sreadtim: single block read time

mreadtim: multiblock read time

cpuspeed: millions instructions per second

cost是从里层向外层累计折叠的,最上层那个表示总代价。oracle会在自动生成的计划里,选择一个最小代价的来执行你的sql

cost 只是在cbo优化器再执行时选择不同执行计划成本的一个判断值,如果为rbo优化器在执行计划中都看不到这个值

cost 内部记算方法oracle也不会公开,oracle内部用来比较各个执行计划所耗费的代价的值,从而使优化器可以选择最好的执行计划。不同语句的cost值不具有可比性,只能对同一个语句的不同执行计划的cost值进行比较。

想更多了解cost,可以去itpub找一个版主所写的

cbo成本计算初探

上一篇  srds是什么意思啊(srds是什么意思啊原生动物与人类的关系)
下一篇  soul什么意思(solo什么意思)

更多  >>