📅  最后修改于: 2020-12-12 08:09:49             🧑  作者: Mango
在上一节中,我们了解了查询处理步骤和评估计划。尽管系统可以为查询创建多个计划,但是所选方法应该是所有方法中最好的。可以通过比较每个可能的计划的估计成本来完成。为了计算任何计划的净估计成本,应该确定一个计划中每个操作的成本并将其合并以获得查询评估计划的净估计成本。
查询评估计划的成本估算是根据各种资源来计算的,这些资源包括:
为了估算查询评估计划的成本,我们使用了从磁盘转移的块数和要查找的磁盘数。假设磁盘的平均块访问时间为t s秒,并且平均需要t T秒来传输x个数据块。块访问时间是磁盘寻道时间和旋转等待时间的总和。它执行S搜寻,所花费的时间将为b * t T + S * t S秒。如果t T = 0.1 ms,t S = 4 ms,则块大小为4 KB,其传输速率为每秒40 MB。这样,我们可以轻松计算给定查询评估计划的估计成本。
通常,为了估算成本,我们考虑可能发生的最坏情况。用户假定最初只从磁盘读取数据。但是必须有一个机会,信息已经存在于主存储器中。但是,用户通常会忽略此影响,因此,实际执行成本会低于估计值。
响应时间,即执行计划所需的时间,可以用于估计查询评估计划的成本。但是由于以下原因,如果不实际执行查询评估计划,则很难计算响应时间: