cost值越大越优先吗
- 2023-05-16 23:33:20
cost值越大越优先吗?
理论上是 cost值越大,SQL的执行计划就不好.但是还有一个前提,就是你的表的分析数据要正确。cost 值的计算,是根据数据库表的统计信息来计算的。例如 你有一个 一百万行的表 ABC。 在 A 列上面有一个索引。你 SELECT SUM(B) FROM ABC WHERE A = 100在数据库没有表/索引的 相关统计信息的情况下, 这个 cost 确实是估计出来的一个大概的值。偏差可能 与这个表中的 A=100 的数量有多少相关。比如 100万条记录里面, A=100 的数据只有一条 / A=100 的数据只有 十万条。 执行的时间可是差很多的。但是如果表/索引 没有被分析过, 数据库对于 SELECT SUM(B) FROM ABC WHERE A = 100还是SELECT SUM(B) FROM ABC WHERE A = 1000查询的计划,是一样的。但是如果你的 表/索引, 是已经分析过了的, 那么 cost 所反映出来的值, 可能更精确一些。因为在分析的时候,就能知道 A=100 的数据只有一条 还是有 十万条。数据库可以根据需要,选择最佳的查询方案来进行处理。假如 那一百万条数据中, A=100 的数据只有一条 ,而 A=1000的数据,有 八十万条。那么很可能SELECT SUM(B) FROM ABC WHERE A = 100使用索引的查询计划而SELECT SUM(B) FROM ABC WHERE A = 1000使用全表扫描的查询计划。
cost值越小越优先。
cost=10的8次方/带宽,cost与带宽成反比,所以,带宽越大,优先级越高。
简介
在理解带宽这个概念之前,我们首先来看一个公式:带宽=时钟频率x总线位数/8(单位B/s),从公式中我们可以看到,带宽和时钟频率、总线位数是有着非常密切的关系的。
其实在一个计算机系统中,不仅显示器、内存有带宽的概念,在一块板卡上,带宽的概念就更多了,完全可以说是带宽无处不在。
声明:本文内容及图片来源于读者投稿,本网站无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。请将本侵权页面网址发送邮件到583666585@qq.com,我们会及时做删除处理。