【发布时间】:2016-12-01 03:28:43
【问题描述】:
SQLite 中的 PK 是否保证数据的顺序?
AFAIK 索引实现按 PK 顺序存储数据。
这适用于 SQLite 吗?即使是复合PK?
【问题讨论】:
标签: android database sqlite indexing
SQLite 中的 PK 是否保证数据的顺序?
AFAIK 索引实现按 PK 顺序存储数据。
这适用于 SQLite 吗?即使是复合PK?
【问题讨论】:
标签: android database sqlite indexing
如果返回多行的 SELECT 语句没有 ORDER BY 子句,则返回行的顺序是不确定的。
主键或任何其他索引的存在不会改变这一点;无法保证该索引实际用于查询。
如果要对查询的输出进行排序,则必须使用 ORDER BY。 (如果可以使用索引轻松实现排序,那么这将不会比没有 ORDER BY 子句的相同查询效率低。)
【讨论】:
rowid 顺序读取数据意味着结果已经正确排序。
rowid 顺序。
你想知道 SQLite 中索引的底层实现以及 SQLite 是如何在磁盘上存储数据的吗?或许可以在File Format For SQLite Databases 和Here 用中文帮助你。
【讨论】: