优化目标

优化总的查询时间和优化用户响应时间是提高查询性能的两个优化目标。

总的查询时间是将所有行返回给应用程序所花费的时间。 对于批处理,或者对于那些要求在将结果返回给用户前处理所有行的查询,总的查询时间最显重要,如以下查询所示:
SELECT count(*) FROM orders
WHERE order_amount > 2000;
用户响应时间是数据库服务器将一满屏行返回给交互式应用程序所花费的时间。 在交互式应用程序中,一次只能请求一满屏的数据。 例如:对于以下查询,用户应用程序一次只能显示 10 行:
SELECT * FROM orders
WHERE order_amount > 2000;

哪个优化目标更重要,会影响到优化器选择的查询路径。 例如:如果用户响应时间更重要,优化器可能会选择嵌套循环连接而不是散列连接来执行查询,即使散列连接可以降低总的查询时间。