DBMS中查询成本的度量
查询成本是增强器考虑查询所需时间的成本(与绝对聚集时间相比)。然后,分析器通过浏览您的查询和对信息的见解,尝试一些执行设计并从中选择最便宜的,来尝试选择最理想的查询计划。
DBMS 中查询成本的测量可以通过创建一个可以为查询进行大量设计的框架来完成。它往往通过对比每一种可能的安排来完成,就其评估成本而言。为了计算任何安排的净评估成本,安排内的每项活动的费用应该设置在确定性和综合成本中,以获得查询评估计划的净评估成本。
示例:我们利用基本上是来自磁盘的块的方形交换的数量和磁盘的数量来评估查询评估计划的费用。假设磁盘子系统需要 tT 秒的正常时间来移动一个正方形的信息,并且具有 tS 秒的正常块访问时间(除了旋转空闲之外的磁盘查找时间),那么,在这一点上,移动b的活动会阻碍并执行S查找将花费 b * tT + S * tS 秒。 tT 和 tS 的优势应该与磁盘框架利用率保持一致,但是,当今高端磁盘的正常质量是 tS = 4 毫秒和 tT = 0.1 毫秒,预计块大小为 4 KB,交换速度为 40每秒兆字节。
tT – time to transfer one block
tS – time for one to seek
Cost for b block transfers plus S seeks
b * tT + S * tS
查询评估计划的费用评估是通过牢记以下不同资产来确定的:
- 磁盘访问次数。
- CPU 执行查询所用的执行时间。
- 分布式或并行数据库系统中涉及的通信成本。
为了衡量查询评估计划的成本,利用从磁盘移动的块数,以及寻找的磁盘数量。在大多数情况下,为了评估费用,我们必须考虑可能发生的最悲观的情况,即最坏的情况。客户首先接受的是,信息是从磁盘中读取的。但是,数据现在应该有机会出现在主存储器中,也称为主存储器。尽管如此,客户通常会忽视这种影响,因此,真正的执行费用低于评估的价值。
反应时间,即预期执行安排的时间,可用于评估查询评估计划的费用。然而,由于伴随的原因,如果不真正执行查询评估计划,就很难计算出反应时间。一旦查询开始执行过程,反应时间就取决于存放在支持中的物质。在任何情况下,当查询处于升级模式或无法访问时,这些数据都很难恢复。
每当存在具有各种可用磁盘的框架时,反应时间取决于准备好“访问在可用磁盘之间循环的方式是什么?”的交叉检查。如果没有关于磁盘上存在的信息格式的详细信息,很难衡量。因此,分析人员观察到最好减少查询计划的健康资产利用率,而不是限制任何查询评估计划的反应时间。除了评估查询评估计划的费用之外,最好限制用于访问磁盘的资产或其他资产的利用率。