mysql:12726
From: 柴垣 <柴垣 <akiro@xxxxxxxxxx>>
Date: Tue, 07 Feb 2006 02:15:01 +0900
Subject: [mysql 12726] Re: MyISAMのHeapテーブルについて
柴垣です。 池田さん、ありがとうございます。 インデックスの違いなど、とても勉強になりました。指摘されたように ソート対象の行数に依存しそうなので、実際にためしてみました。 主流になりそうな、40000件のレコードから、数千件を選び出す、という サンプルで両方のテーブルの違いを実験してみたところ、MyISAMテーブルで 0.3sec 、Heap テーブルで、0.25sec といったところでした。(両方とも インデックスを付けたフィールドで、抽出、と order by をつけて) 今のところ、Heap テーブルで、いけそうな感触でいます。 > HEAPテーブルではB-Treeインデックスではなく、ハッシュインデックスが使用されています。 > つまり、"Extra: Using filesort"の示すようにORDER BYではソート処理が発生します。 > > このソート処理による性能低下がどれくらいのものであるかは、ソート対象のレコード数、 > 即ち、そのSELECT文で返される結果の行数がどれくらいあるのかに依存すると思います。 > > HEAPテーブルの利用そのもので言えば、100MBを超えるサイズのHEAPテーブルの利用事例なども > あるようですし、数MByteということ自体は問題ないのではないでしょうか。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 柴垣 顕郎 akiro@xxxxxxxxxx _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
12707 2006-02-03 02:31 [柴垣 <akiro@xxxxxxxx] MyISAMのHeapテーブルについて 12709 2006-02-03 08:36 ┗[Tetsuro IKEDA <tetsu] -> 12726 2006-02-07 02:15 ┗[柴垣 <akiro@xxxxxxxx]