Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
返回大型结果集的SQLite查询需要更多时间吗?_Sqlite - Fatal编程技术网

返回大型结果集的SQLite查询需要更多时间吗?

返回大型结果集的SQLite查询需要更多时间吗?,sqlite,Sqlite,执行SQLite查询时,返回数据集的大小是否会影响查询所需的时间?对于这个问题,假设我实际上没有访问结果中的任何数据,我只是想知道查询本身是否需要更长的时间。我们还假设我只是选择所有行,没有WHERE或ORDERBY子句 例如,如果我有两个表A和表B,假设表A有一百万行,表B有10行,两个表的列数和类型都相同。选择表A中的所有行会比选择表B中的所有行花费更长的时间吗 这是我问题的后续行动。我猜想,如果在查询过程中SQLite复制了数据,那么返回大数据集的查询可能需要更长的时间,除非有一种优化,即

执行SQLite查询时,返回数据集的大小是否会影响查询所需的时间?对于这个问题,假设我实际上没有访问结果中的任何数据,我只是想知道查询本身是否需要更长的时间。我们还假设我只是选择所有行,没有WHERE或ORDERBY子句

例如,如果我有两个表A和表B,假设表A有一百万行,表B有10行,两个表的列数和类型都相同。选择表A中的所有行会比选择表B中的所有行花费更长的时间吗


这是我问题的后续行动。我猜想,如果在查询过程中SQLite复制了数据,那么返回大数据集的查询可能需要更长的时间,除非有一种优化,即在查询仍处于活动状态时,如果数据库中的数据发生了更改,则只复制查询结果数据?

根据某些细节,是的,查询可能需要不同的时间

示例:我有一个表,其中包含大约20k个条目。我做一个全局搜索,必须尝试每一行,有限制。如果满足限制,查询可以提前停止。否则,它必须遍历整个表或联接。因此,结果太多的搜索返回的速度比结果很少的搜索快


如果查询必须在相同数量的数据中运行,我不认为较小和较大数量的选定行之间存在显著差异。当然,可能会有IO成本。

我已经澄清了我的问题,我只对从单个表中选择所有行的情况感兴趣,没有where、ORDER BY、LIMIT或JOIN子句。好的。我会说答案是一样的。在表A中运行更多行将花费更长的时间。索引可能会使这一步消失。如果您选择all,我希望行以IO加上开销所允许的速度显示出来。相同速率下的更多数据将花费更长的时间。