mysql:2419
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Sat, 26 Aug 2000 22:27:05 +0900
Subject: [mysql 02419] Re: 3.23 移行後 explain で Using filesort とでる
とみたです。 On Sat, 26 Aug 2000 18:12:58 +0900 Hiroyuki Hasegawa <admin@xxxxxxxxxx> wrote: > 例です。 > > EXPLAIN > select * > from 顧客マスタ > order by ユーザー番号 desc limit 8; > > +------------+-------+---------------+------+---------+------+----------------------------+ > | table | type | possible_keys | key | key_len | ref | Extra | > +------------+-------+---------------+------+---------+------+----------------------------+ > | 顧客マスタ | range | 性別 | 性別 | 2 | NULL | where used; Using filesort | > +------------+-------+---------------+------+---------+------+----------------------------+ > =>超低速 select 文中に「性別」なんて使ってないのに、キーとして「性別」が使われて いるのは変ですねぇ。 > EXPLAIN > select * > from 顧客マスタ > where 性別='男' > order by ユーザー番号 desc limit 8; あ、こっちの select が正しいのかな? 「性別」は「男」か「女」しか入らないんですよね、多分。2つの値しか持た ないフィールドをキーに設定するのはあまりよろしくないです。 # まあ、そんなキーを選択する MySQL が悪いっていえばそうなんだけど…(^^; explain select * from 顧客マスタ ignore index (性別) where 性別='男' order by ユーザ番号 desc limit 8; ではどうなるでしょう? --- とみたまさひろ <tommy@xxxxxxxxxx> http://www.tmtm.org 日本MySQLユーザ会 http://www.mysql.gr.jp
2413 2000-08-26 16:00 [Hiroyuki Hasegawa <a] 3.23 移行後 explain で Using filesort とでる 2414 2000-08-26 16:35 ┣[Hiroyuki Hasegawa <a] 2415 2000-08-26 18:12 ┃┗[Hiroyuki Hasegawa <a] -> 2419 2000-08-26 22:27 ┃ ┗[とみたまさひろ <tomm] 2423 2000-08-28 16:41 ┃ ┗[Hiroyuki Hasegawa <a] 2424 2000-08-29 00:07 ┃ ┗[とみたまさひろ <tomm] 2416 2000-08-26 18:17 ┗[とみたまさひろ <tomm] 2417 2000-08-26 18:30 ┗[Hiroyuki Hasegawa <a] 2418 2000-08-26 20:41 ┗[Hiroyuki Hasegawa <a] 2420 2000-08-26 22:27 ┗[とみたまさひろ <tomm] 2422 2000-08-28 12:27 ┗[Hiroyuki Hasegawa <a] パフォーマンスが 3.22 と 3.23 で大きく異なる