【问题标题】:SQLite3 Disk IO ErrorSQLite3 磁盘 IO 错误
【发布时间】:2017-05-02 15:00:09
【问题描述】:

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

如果我将查询限制为返回约 10,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 版本并重新运行代码是不切实际的)

【问题讨论】:

    标签: sqlite sqlalchemy


    【解决方案1】:

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

    但是“磁盘 I/O 错误”意味着您的磁盘存在错误。扔掉它,然后从备份中恢复数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 2013-11-21
      • 2017-05-10
      • 1970-01-01
      • 2011-07-13
      • 2010-11-30
      • 1970-01-01
      相关资源
      最近更新 更多