[前][次][番号順一覧][スレッド一覧]

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>]