Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 当返回超过251个结果时,简单Oracle查询开始运行缓慢_Sql_Performance_Oracle - Fatal编程技术网

Sql 当返回超过251个结果时,简单Oracle查询开始运行缓慢

Sql 当返回超过251个结果时,简单Oracle查询开始运行缓慢,sql,performance,oracle,Sql,Performance,Oracle,正如标题所暗示的,我有一个非常简单的Oracle查询,当我返回251个结果之后,它将在5秒钟内返回。我正在使用SQL Developer,并使用内置连接实用程序进行连接(此应用程序中没有用于ODBC连接的工具) 这里的查询速度很快(足够快)(Pau stu可以容纳大约4万行): 从pa_stu中选择*,其中rownum

正如标题所暗示的,我有一个非常简单的Oracle查询,当我返回251个结果之后,它将在5秒钟内返回。我正在使用SQL Developer,并使用内置连接实用程序进行连接(此应用程序中没有用于ODBC连接的工具)

这里的查询速度很快(足够快)(Pau stu可以容纳大约4万行):

从pa_stu中选择*,其中rownum<252;
据SQL开发者称,Oracle在.521秒内将数据返回给我

以下查询以及那些获取更大数据集的查询是罪魁祸首:

Select * From pa_stu Where rownum < 253;
从Pau stu中选择*,其中rownum<253;
据SQLDeveloper称,Oracle在5.327秒内将最后一次的数据返回给我


用于测试的所有查询都有相同的解释计划。也就是说,ROWNUMWhat的过滤器谓词是查询的等待事件?是否有可能一个数据库中的表在物理上是紧凑的(完整表扫描返回得很快),而另一个数据库中的分配空间很大,不包含任何数据(完整表扫描返回得很慢)?这两个查询是否具有相同的
解释
信息?嗯,这个表中的行如何?“将评估的数字增加到大约1000”-你的意思不是暗示它只有1000?除非在rownum.PM 77-1上有数百万行和/或没有索引,否则有些内容是非常不完整的:两个查询都有相同的解释计划。也就是说,ROWNUMebyrob的过滤器谓词:表PA_STU(来自性能较差的查询)中总共有大约40000行。我从另一个Oracle实例测试的表现在大约有40万行。因此,它的数量是预期的10倍,但是,正如人们所预期的那样。
Select * From pa_stu Where rownum < 253;