mysql:8091
From: bon <bon <bon@xxxxxxxxxx>>
Date: Sat, 02 Aug 2003 04:51:02 +0900
Subject: [mysql 08091] order by で table full
はじめまして、bonです。 Linux & MySQL3.22.32 & Perl & PHP で使用しています。 現在あるSQL文でエラーがでるようになりました。 SELECT c.a, c.b, c.d, c.e, m.u, e.p, c.u FROM tblc c LEFT JOIN tble e on c.e = e.e LEFT JOIN tblm m on c.a = m.a ORDER BY c.a, m.u desc エラーがでてなかった時のそれぞれのレコード数はおよそ、 tblc:約590 tblm:約5280 tble:4 です。 エラーがでるようになってレコード数を確認すると、 tblc:約720 tblm:約5250 tble:4 です。 ORDER BYをはずすと結果が正常に戻ります。 それぞれのテーブルの1レコードのサイズはおよそ tblc:約1300バイト + textフィールド2つ tblm:約270バイト tble:約370バイト + textフィールド2つ です。 で、mysqldのチューニングになるわけですが、 とりあえず現在のサーバ設定を mysqld --help で保存しました。 order byにからみそうな設定として、 [mysqld] set-variable = sort_buffer=4M set-variable = max_sort_length=2K を設定しました。前回の設定の2倍にしました。 mysqldを再起動、設定を保存、前回の保存の diff をとり、 設定が反映されていることを確認しました。 実行すると相変わらずエラーです。 set-variable = sort_buffer=8M set-variable = max_sort_length=4K にしてもだめでした。 何が間違って何がいけないのでしょうか? よろしくお願いします。 ----------------- bon@xxxxxxxxxx
-> 8091 2003-08-02 04:51 [bon <bon@xxxxxxxxxx>] order by で table full 8092 2003-08-02 05:58 ┗[bon <bon@xxxxxxxxxx>]