2010年6月28日

[mysql 15351] Re: 検索条件カラムを縦持ちにした場合の検索の性能について。

とみたです。

On Mon, 28 Jun 2010 21:38:23 +0900
MATSUNAGA Ichiro <vikke.bsd@xxxxx> wrote:

> この状態で、他のtable(other)をjoinしつつ、cond1(001)が10あるいは20、かつcond2(002)が70あるいは80あるいは90の条件を見たすrecordが欲しい場合、
> select a_id, o.val
> from

> a
> inner join cond c1 using(a_id)
> inner join cond c2 using(a_id)
> inner join other o using(o_id)
> where
> c1.cond between 00110 and 00120
> and c2.cond between 00270 and 00290;
> というsqlを実行してみたのですが、結構重い状態です。

次のように cond カラムに独立したインデックスを張ってみてはいかがでしょうか。

create table cond (
a_id int(10) not null,
cond int(5) not null,
primary key (a_id, cond),
index (cond)
)

--
とみたまさひろ <tommy@xxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp


投稿者 xml-rpc : 2010年6月28日 23:35
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/96714
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。