2

I just want to know what is the reason for having different time while executing the same query in PostgreSQL.

For Eg: select * from datas;

For the first time it takes 45ms For the second time the same query takes 55ms and the next time it takes some other time.Can any one say What is the reason for having non static time.

4

3 回答 3

2

很简单,每次数据库都必须读取整个表并检索行。数据库中可能发生 100 种不同的事情,这可能会导致几毫秒的差异。没有必要恐慌。这是必然会发生的。您可以期望该操作以几毫秒的精度花费相同的时间。如果有很大的不同,那就是必须要观察的东西。

于 2013-09-20T04:32:33.013 回答
1

这就是每台计算机上的每个应用程序的情况。有时操作系统比其他时候更忙,因此需要更多时间来获取您要求的内存,或者您的应用程序获得更少的 CPU 时间片或其他什么。

于 2013-09-20T04:32:09.333 回答
1

你有没有在你的表中应用索引。它还可以大大提高速度!

编译从

matt b参考

解释声明?帮助我们显示 PostgreSQL 计划程序为提供的语句生成的执行计划。

执行计划显示语句引用的表将如何被扫描——通过普通顺序扫描、索引扫描等——如果引用了多个表,将使用什么连接算法将每个表中所需的行汇集在一起输入表

Pablo Santa Cruz的参考 您需要更改 PostgreSQL 配置文件。

启用此属性:

log_min_duration_statement = -1        # -1 is disabled, 0 logs all statements                                    
                                       # and their durations, > 0 logs only                                       
                                       # statements running at least this number                                  
                                       # of milliseconds   

之后,将记录执行时间,您将能够准确确定执行查询的坏(或好)程度。

于 2013-09-20T04:52:12.910 回答