SQLITE3磁盘IO错误



我在SQL数据库的查询期间遇到磁盘I/O错误。我有几个具有相同模式的大型(95GB(DB,并试图在所有这些方面运行相同的查询。两次运行良好,返回约28,000,000个结果;当通过SQLalchemy和命令行运行时,都可以击中"磁盘I/O错误"。

如果我将查询限制为返回〜10,000,000结果,则我没有错误 - 但是我需要 fult 输出,因为这些是来自大物理模拟的光子。

sqlalchemy中的完整错误消息是:

Traceback (most recent call last):
  File "/Users/swm1n12/anaconda/lib/python3.5/site-packages/sqlalchemy/engine/result.py", line 1120, in fetchall
    l = self.process_rows(self._fetchall_impl())
  File "/Users/swm1n12/anaconda/lib/python3.5/site-packages/sqlalchemy/engine/result.py", line 1071, in _fetchall_impl
      return self.cursor.fetchall()
sqlite3.OperationalError: disk I/O error

和命令行上的sqlite3:

Error: disk I/O error

谁能告诉我如何能弄清楚怎么了?

(我知道对于这种尺寸的DB,SQLite并不是一个很好的选择 - 事实证明它们比我预期的要大,并且〜学术出版压力〜意味着重新处理SQL版本,并且重新编写代码不实用(

sqlite3命令行壳中,您可以使用.log stderr查看OS错误。

但"磁盘I/O错误"意味着您的磁盘上有错误。将其扔掉,并从备份中还原数据库。

相关内容

最新更新