Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 不使用';t阶结果_Sql_Sqlite_Select_Limit - Fatal编程技术网

Sql 不使用';t阶结果

Sql 不使用';t阶结果,sql,sqlite,select,limit,Sql,Sqlite,Select,Limit,我将重复此查询,同时将偏移量增加50,直到没有更多结果 每次结果的顺序都一样吗?我不想使用ORDER BY,因为我不需要对它们进行排序,因此可能会不必要地降低性能 我只是想确保无论顺序是什么,在查询之间都保持不变,这样我就不会在其他查询中得到重复的记录。从我所做的测试来看,似乎我没有…。您是正确的,如果您没有指定订单,则无法保证订单。对于要执行的操作,应该指定一个明确的ORDER BY 编辑以反映评论 安娜,如果你执行这一系列的查询,你是对的 SELECT stuff FROM table LI

我将重复此查询,同时将偏移量增加50,直到没有更多结果

每次结果的顺序都一样吗?我不想使用ORDER BY,因为我不需要对它们进行排序,因此可能会不必要地降低性能


我只是想确保无论顺序是什么,在查询之间都保持不变,这样我就不会在其他查询中得到重复的记录。从我所做的测试来看,似乎我没有…。

您是正确的,如果您没有指定订单,则无法保证订单。对于要执行的操作,应该指定一个明确的ORDER BY

编辑以反映评论

安娜,如果你执行这一系列的查询,你是对的

SELECT stuff FROM table LIMIT 0, 50
而且你不会在多个结果集中得到一行,这是幸运的

如果你重复这个查询

SELECT stuff from table LIMIT 0, 50
SELECT stuff from table LIMIT 51, 50
SELECT stuff from table LIMIT 101, 50
... and so on ...

一百万次,您很有可能每次都会得到相同的结果,但无法保证。

您是正确的,如果您没有指定订单依据,则无法保证订单。对于要执行的操作,应该指定一个明确的ORDER BY

编辑以反映评论

安娜,如果你执行这一系列的查询,你是对的

SELECT stuff FROM table LIMIT 0, 50
而且你不会在多个结果集中得到一行,这是幸运的

如果你重复这个查询

SELECT stuff from table LIMIT 0, 50
SELECT stuff from table LIMIT 51, 50
SELECT stuff from table LIMIT 101, 50
... and so on ...

一百万次,您很有可能每次都会得到相同的结果,但这并不能保证。

如果您的表是主键,那么请执行以下操作:

SELECT stuff from table LIMIT 51, 50
按主键排序应该是有效的

在SQLite中,您还可以执行以下操作:

SELECT stuff
FROM table
ORDER BY pk
LIMIT 0, 50;

rowid
是一个特殊的“列”,可用于与行的物理位置关联的查询。按
rowid
排序也应该是有效的。

如果您的表是主键,则执行以下操作:

SELECT stuff from table LIMIT 51, 50
按主键排序应该是有效的

在SQLite中,您还可以执行以下操作:

SELECT stuff
FROM table
ORDER BY pk
LIMIT 0, 50;

rowid
是一个特殊的“列”,可用于与行的物理位置关联的查询。按
rowid
排序也应该是有效的。

如果将ORDER by与包含索引的列一起使用(特别是,主键始终被索引),则性能影响不大。如果将ORDER by与包含索引的列一起使用(特别是,主键始终被索引),性能损失是微不足道的。所以你是说我没有在查询中得到重复的结果这一事实是巧合吗?你能重复一个查询一百万次并得到相同的结果顺序而不指定明确的顺序吗?是的,但是不能保证。那么你是说我没有在查询中得到重复的结果是巧合吗?你能重复一个查询一百万次,得到相同的结果顺序而不指定明确的顺序吗?是的,但不能保证。