2017-05-02 47 views
0

SQLデータベースのクエリ中にディスクI/Oエラーが発生しました。私は同じスキーマを持ついくつかの大きな(95GBの)dbを持っており、それらのすべてで同じクエリを実行しようとしています。 2人はうまく動いて、約28,000,000の結果を返します。 SQLalchemyとコマンドラインを介して実行されるとき、どちらも 'ディスクI/Oエラー'に遭遇します。SQLite3ディスクIOエラー

結果が〜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 

誰も私が間違って何が起こっているのかを把握することができるだろうか教えてもらえます?

(私はこのサイズのDBではSQLiteが素晴らしい選択ではないことを認識しています。予想以上の大きさであることが判明しました〜学術出版のプレッシャー〜はSQLバージョンの再修正とコードの再実行は実用的ではありません)

答えて

1

コマンドラインシェルでは、.log stderrを使用してOSエラーを表示できます。

「ディスクI/Oエラー」は、ディスクにエラーがあることを意味します。投げ捨てて、バックアップからデータベースを復元します。

+0

ありがとうございました - 怒ってディスクエラーでした。 – Toaster

関連する問題