什么是 DBMS 中的启发式优化?
基于成本的优化是昂贵的。启发式方法用于减少在基于成本的方法中必须做出的选择数量。
规则
启发式优化通过使用一组提高性能的规则来转换表达式树。这些规则如下-
在查询中首先执行SELECTION过程。这应该是任何SQL表的第一个操作。通过这样做,我们可以减少查询中所需的记录数,而不是在查询期间使用所有表。
在查询中尽快执行所有投影。有点像选择,但这种方法有助于减少查询中的列数。
执行最严格的连接和选择操作。这意味着只选择那些将导致记录数量相对较少并且在查询中非常必要的表和/或视图集。显然,当连接具有很少记录的表时,任何查询都会执行得更好。
一些系统仅使用启发式方法,而其他系统将启发式方法与部分基于成本的优化相结合。
启发式优化的步骤
让我们看看启发式优化涉及的步骤,下面解释-
将连接选择解构为一系列单一选择操作。
将选择操作沿查询树向下移动,以便尽可能早地执行。
首先执行那些将产生最小关系的选择和连接操作。
将笛卡尔积运算和选择运算替换为连接运算。
解构并尽可能将树向下移动。
识别那些操作被流水线化的子树。