分析SQL扫描性能

时间:2015-12-09 02:50:04

标签: sql postgresql

我对SQL扫描性能有疑问。没有索引。

select id from customer where age <45;
select id from customer where salary >40,000;
select id from customer where sex = 'Male';

运行时间为22.136,87.435,132.242 ms。它们都毁了10次并取平均值。

我的问题:1。为什么第一个查询比第二个查询显着更快,因为它们都执行扫描。 2.为什么第三个是最慢的?是因为它与字符检查有关吗? 3.我应该考虑哪些因素?

赞赏理论层面的答案(因为工程中有太多的随机事件)。

1 个答案:

答案 0 :(得分:2)

所有三个查询都应具有相同的执行计划。对于详细的计时,您应确保缓存未初始化。

假设您的计时是正确的,它们可能是由返回数据集的大小驱动的。返回的数据量越大,查询可能会花费的时间越长。

相关问题