【发布时间】: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