
MySQL4.0.26+PHP5.2.0を使用してシステムを構築しています。
1つのテーブルが300万件を超えたあたりから、処理が著しく遅くなってきましてあるところで「Got error 28 from table handler」というエラーを吐き出すようになり特定のクエリが実行できなくなりました。
調べてみると、TEMPに設定しているドライブの容量が0になっているとのことでした。そのドライブは空き容量は30GB近くあります。
クエリ実行中にTEMPフォルダ内にファイルが作成され30GB以上のファイルが作成されているのですが、このファイルサイズはどうにかならないのでしょうか?
データベース容量が1.5GB未満に対してTEMPのファイルが30GBを超えてくるのはおかしいと思います。
どなたか分かる方、ご教授お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
1個のファイルが30GB以上あるのですか?
それとも、複数のファイルのサイズ合計が30GB以上あるのですか?
また、そのファイル(もしくはファイル群)には、
何という名前が付いていますか?
なお、MySQLメーリングリストとこちらの双方に対して、
適切なフォローをお願いいたします。
いずれか一方での回答で問題が解決したら、
他方に対して「○○に寄せられた○○の回答で解決しました」旨
ご報告ください。
この回答への補足
すいませんでした。
メーリングリストにも同様の問い合わせをしています。
ご指摘の報告については、承知しました。
>1個のファイルが30GB以上あるのですか?
そうです。
>何という名前が付いていますか?
2つファイルができているのですが、30GBのファイル名は[#sql_1fv8_1.MYD]です。
もうひとつは1KB程度です。[$sql_1fc8_1.MYI]というファイル名です。
No.1
- 回答日時:
>1つのテーブルが300万件を超えたあたりから、処理が著しく遅くなってきましてあるところで
実行されているSQLを疑ってみてはいかがですが?
Mysqlはslowクエリをログに出力できたはずです。
1秒以上かかっているクエリをロギングしてみて、
そのSQLのチューニングをしてみてはいかがでしょうか?
>30GB以上のファイルが作成
たとえば、テーブル結合で誤ってcross joinとかしていませんか?
これも、slowクエリで確認してみてください。
>データベース容量が1.5GB未満に対してTEMPのファイルが30GBを超えてくるのはおかしい
テーブルの結合しだいではありえないわけではない
この回答への補足
テーブルの結合はしていません。
参照はしています。
ORDER BYとLimitを使用しています。
processlist で確認すると「Copying to tmp table on disk 」が
1000s以上経過しても終了しません。
slowクエリでは、
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 1059 Lock_time: 0 Rows_sent: 0 Rows_examined: 14647773
と記録されいます。
Explainで確認したのですが、初心者の為見方がよく分かりません。
書籍などを参考にしているのですが。
>テーブルの結合しだいではありえないわけではない
そうなんですか。このままいくとデータを抽出するたびに空き容量を確保しないといけないんでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- Google Drive Googleドライブでのファイルの移動 2 2022/11/01 14:23
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- ドライブ・ストレージ クラウドサーバにデータ移行後 Cドライブ容量が減った 3 2023/03/31 12:47
- その他(クラウドサービス・オンラインストレージ) OneDrive同期解除後、同期できていなかったローカルファイルを復元できますか? 1 2023/03/25 12:38
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
MySQLの実データはどのフォール...
-
SQLiteからMySQLへの変換方法
-
configファイルの設定
-
数万人規模のコミュニティサイ...
-
SQLファイルのインポートに関して
-
XAMPP、MySQLのテーブルの漢字...
-
データベースの使い方は?
-
MySQL登録データを別のサーバー...
-
同じSQL文で極端に検索が遅くな...
-
MySQLへのファイルの格納
-
mysqlimportの使い方について
-
画像のアップについて
-
TEMPフォルダ内のデータに...
-
ダンプファイルから特定のテー...
-
MySQL5.0.15 winmysqladminは入...
-
検索の秒数表示について
-
PHPで生成した値をデータベース...
-
質問
-
MySQLのデータファイルの位置に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
同じSQL文で極端に検索が遅くな...
-
DBファイルの中身を直接見れな...
-
badファイルの内容を知る方法
-
ODBCを使用する場合のファイルD...
-
DB2の文字化け
-
パラメータファイルが壊れたと...
-
sqlファイルを分割するソフトは...
-
Access2010でアクセス制限をしたい
-
accdbファイルの最適化
-
batでsqlplusによる前月データ...
-
ダンプファイルから特定のテー...
-
SQLLDRの制御ファイルについて
-
SQLServer2005 セカンダリファ...
-
MYSQLのDBに大容量のCSVをUP...
-
SQLserver2005⇒2012へ移行
-
CGI(掲示板やカウンターなど)...
-
複数のCSVファイルの読みこみ
-
PHP・MySQLでの画像保存方法
-
/var/lib/mysql以下に生成され...
おすすめ情報