3

我正在开发一个 Java 程序,它使用 Xerial SQLite 驱动程序在一个巨大的数据库上执行一些查询。

当我发送查询

SELECT sequence,fieldOne,fieldTwo,pairs FROM events ORDER BY pairs DESC

其中序列是 TEXT、fieldOne、fieldTwo 以及对和整数。这需要一些时间并引发此异常:

[SQLITE_FULL] 插入失败,因为数据库已满(数据库或磁盘已满)

如果我添加一个限制约束,它就可以了。

怎么了?这不是插入查询,磁盘未满。

4

1 回答 1

7

SQLite可能正在创建一个临时表/文件,因为ORDER BY. 磁盘未满,因为您在删除它创建的临时文件后进行检查。如果您无法获得更多磁盘空间,我建议您将结果批处理或摆脱ORDER BY(如果可以的话)。

于 2013-05-28T21:13:13.897 回答