SQLite3磁盘IO错误

时间:2017-05-02 15:00:09

标签: sqlite sqlalchemy

我在SQL数据库查询期间遇到磁盘I / O错误。我有几个具有相同模式的大型(95gb)数据库,并且我试图在所有这些上运行相同的查询。两次运行良好,返回〜28,000,000个结果;当通过SQLalchemy和命令行运行时,一个命中“磁盘I / O错误”。

如果我限制查询返回~100,000,000个结果,我没有得到错误 - 但我需要完整输出,因为这些是来自大型物理模拟的光子。

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

有谁能告诉我怎么能弄清楚出了什么问题?

(我知道对于这样大小的数据库,SQLite不是一个很好的选择 - 他们的结果比我想象的要大,而且〜学术出版压力〜意味着重组SQL版本并重新运行代码是不切实际的)< / p>

1 个答案:

答案 0 :(得分:2)

sqlite3命令行shell中,您可以使用.log stderr查看操作系统错误。

但是&#34;磁盘I / O错误&#34;表示磁盘上有错误。扔掉它,从备份中恢复数据库。