• 締切済み

TEMPフォルダ内のデータについて

MySQL4.0.26+PHP5.2.0を使用してシステムを構築しています。 1つのテーブルが300万件を超えたあたりから、処理が著しく遅くなってきましてあるところで「Got error 28 from table handler」というエラーを吐き出すようになり特定のクエリが実行できなくなりました。 調べてみると、TEMPに設定しているドライブの容量が0になっているとのことでした。そのドライブは空き容量は30GB近くあります。 クエリ実行中にTEMPフォルダ内にファイルが作成され30GB以上のファイルが作成されているのですが、このファイルサイズはどうにかならないのでしょうか? データベース容量が1.5GB未満に対してTEMPのファイルが30GBを超えてくるのはおかしいと思います。 どなたか分かる方、ご教授お願いします。

  • S202
  • お礼率84% (142/169)
  • MySQL
  • 回答数2
  • ありがとう数1

みんなの回答

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.2

1個のファイルが30GB以上あるのですか? それとも、複数のファイルのサイズ合計が30GB以上あるのですか? また、そのファイル(もしくはファイル群)には、 何という名前が付いていますか? なお、MySQLメーリングリストとこちらの双方に対して、 適切なフォローをお願いいたします。 いずれか一方での回答で問題が解決したら、 他方に対して「○○に寄せられた○○の回答で解決しました」旨 ご報告ください。

S202
質問者

お礼

ORDER BYを指定しないことで、自己解決しました。

S202
質問者

補足

すいませんでした。 メーリングリストにも同様の問い合わせをしています。 ご指摘の報告については、承知しました。 >1個のファイルが30GB以上あるのですか? そうです。 >何という名前が付いていますか? 2つファイルができているのですが、30GBのファイル名は[#sql_1fv8_1.MYD]です。 もうひとつは1KB程度です。[$sql_1fc8_1.MYI]というファイル名です。

noname#246547
noname#246547
回答No.1

>1つのテーブルが300万件を超えたあたりから、処理が著しく遅くなってきましてあるところで 実行されているSQLを疑ってみてはいかがですが? Mysqlはslowクエリをログに出力できたはずです。 1秒以上かかっているクエリをロギングしてみて、 そのSQLのチューニングをしてみてはいかがでしょうか? >30GB以上のファイルが作成 たとえば、テーブル結合で誤ってcross joinとかしていませんか? これも、slowクエリで確認してみてください。 >データベース容量が1.5GB未満に対してTEMPのファイルが30GBを超えてくるのはおかしい テーブルの結合しだいではありえないわけではない

S202
質問者

補足

テーブルの結合はしていません。 参照はしています。 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

  • Tempフォルダについて

    宜しくお願いします! Cドライブの中を見ていたら Local Settingsの中のTempというフォルダがあり、その中に一時ディレクトリとかいうファイルらが沢山入っていました。 その容量は1.19GBです。 このフォルダ内の物は全て削除をしてしまっても大丈夫でしょうか? IEの一時ファイルとかと似たような物・・・な気がするのですが、見た事もないフォルダだったので少し消すのが怖いです。 宜しくお願いします!

  • TEMPフォルダの移動

    サイト等を参照してTEMPフォルダの移動をしました。 (1)Dドライブに「TEMP」というフォルダ名で新規フォルダを作成 (2)システムのプロパティから詳細設定タブの環境変数を開く (3)ユーザーの環境変数の箇所のC\TEMPとC\Tempを削除 (4)システム環境変数の箇所でTEMPとTMPの値を「D\TEMP」「D\TEMP」に変更 (5)ドライブCにあるTempフォルダ内とWINDOWSフォルダ内のTempフォルダ内を削除 (6)CとDドライブのディスククリーンアップを実行 以上の作業をしました。 数日パソコンを使用してCドライブをクリーンアップを実行しようとしたところ、Temporary Internet Filesという項目で使用領域の表示(○○KB)がありました。 実行しないで、さきにDドライブのディスククリーンアップをためしたところ、「一時ファイル」という項目は0KBのままでした。 CドライブのTempフォルダを見てみると空っぽで、DドライブのTEMPフォルダをみたらいくつかファイルがありました。 次にCのクリーンアップを実行したのですが、Dのフォルダ内は削除されていませんでした。 最後に手動でDのTEMPフォルダ内を削除したところある程度削除できました。 そこで質問です。 ・TEMPフォルダの移動をしたのだから、Cドライブの一時ファイルは0になるのではないのか? ・クリーンアップでCドライブのTemporary Internet Filesの表示は0KBになるはずでは? ・クリーンアップでDドライブの一時ファイルの表示が0なのはおかしいのではないか? 移動させるまでは、Cドライブのクリーンアップで一時ファイルの削除をしていたのですが、移動させたあとはどうすればいいのでしょうか? (Dに移動させてもクリーンアップはCドライブを行えばいいのか?) 実際にパソコンには不具合が出ていないのですが、疑問に思いましたので質問させていただきました。 よろしくお願いします。 (XP SP2 使用アカウントは管理者のみです。)

  • temp

    Cドライブの容量が少なくなったので、確認したところ、Documents and settingsのファイルが異様に大きく、隠しファイルをだしたところ、tempファイルが存在しそれが、34GBもありました。このファイルは削除しても問題ないでしょうか。

  • tempフォルダについて

    WindowsXPです。 cドライブ内のwindowsフォルダ内に、「temp」フォルダがあります。 これは、一時ファイルしか入っていないので、フォルダ内を削除しても問題ないと思います。 あと、「ファイルを指定して実行」で、「%temp%」と入力すると、tempフォルダが開きます。 こちらと、上記のwindowsフォルダ内のtempフォルダとの違いは、何なのでしょうか? 自分の考えは、どちらも同じ物だと思いましたが、中身にあるファイル類が若干違うので、これはどうして?っと思いました。 違いをご存知の方、よろしくお願いします。

  • Tempフォルダ(一時フォルダ)削除について

    ドライブの空き容量が少なくなってきたので、良い方法がないか調べてみたら Tempフォルダ(一時フォルダ)内もファイルは全て削除しても問題ないとありました。 OSはWindows7です。今まで一度もTempフォルダから削除したことがありません。 Tempフォルダの場所に行ってみましたらフォルダーとファイル合わせて34万個あります。 (403GB)もあります。 削除してもいいのはファイルだけでしょうか? 例えばフォルダの中にはMusicのフォルダーもあり、開くとドキュメントのMy music だったりしますが、Tempフォルダ(一時フォルダ)内であっても削除すれば当然、ドキュメントのMy musicも全て消えてなくなるって事でしょうか? ビギナーですいません。 よろしくお願いします。

  • WindowsXPのtempフォルダについて

    いつも、ファイル名を実行して、「%temp%」を開いて、時折削除していますが、cドライブ直下に「temp」フォルダがありますが、このフォルダ内のファイルは削除されません。 これはどういうことでしょうか? 自分の認識では、「%temp%」は、すべてのPC内のtempフォルダの内容を表示するコマンドだと思っています。 ご存知の方、よろしくお願いします。

  • Tempフォルダの肥大化

    いつもお世話になっております。 ハードディスクCドライブのWindowsフォルダの中にあるTempフォルダ の中身がパソコンを使用していて、かなりの容量になっていることに 気がつきました。 会社のPCのうち4台が3年以上前に導入したものでハードディスク容量 が40ギガ程度しかありません。 Tempフォルダが15GB以上あったので、1台のPCのTempフォルダの中身 を消去したら、メールが開かなかったり、あるプログラムが起動し なくなったりで再インストールしました。 他の3台のPCのTempフォルダの容量を減らしたいのですが、対処方法 はありますでしょうか? よろしくお願い致します。

  • Tempフォルダは削除していいのでしょうか?

    ハードディスクの容量が少なくなってきたので、整理をしているのですが、下記の場所のTempフォルダが2GBもありました。 C:\Documents and Settings\○○\Local Settings\Temp ※○○はユーザ名 一時ファイルだと考えているのですが、全て削除してもシステム上問題はないのでしょうか?削除して空き容量を確保したいところです。 また影響が出るとしたらどのようなところに影響がでますか?

  • Tempフォルダのファイルが表示しない?

    容量の関係でTempフォルダをCドライブからDドライブに移動しました。 移動後にフォルダを開いても何も表示しません。 プロパティでは相当な数のファイル数、フォルダー数があるようです。 Tempフォルダの不要なデータを削除したいのですが、 表示させるためには、どのようにしたらよいでしょうか。

  • tempファイル

    Cドライブの容量を減らしたいのですが、大きなファイルがtempファイルのなかにあるのがわかりました C:\Documents and Settings\個人の名前\Local Settings\Tempの__p2goCacheというフォルダが4GBありました。どうやらpower2goというソフトでデータをコピーしたときに出来たファイルなのですが、これを消しても問題はあるでしょうか?ちなみLocal Settingsは隠しフォルダの中にありました。またはtempファイルなので自動的にきえてなくなるのでしょうか? よろしくお願いします