“SQLITE Full”例外

时间:2013-05-28 21:06:36

标签: java sqlite

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

发送查询时

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

其中sequence是TEXT,fieldOne,fieldTwo以及对和整数。这需要一些时间并抛出此异常:

  

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

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

发生了什么事?这不是插入查询,磁盘未满。

1 个答案:

答案 0 :(得分:6)

由于ORDER BY

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