mysql:13018
From: "F.Y" <"F.Y" <fumi_sby@xxxxxxxxxx>>
Date: Tue, 23 May 2006 09:09:35 +0900 (JST)
Subject: [mysql 13018] Re: サブクエリーの書き方と処理速度について
そもそもサブクエリだのビューだのって不要なように見えるけどねぇ。
誤解しているかなぁ…
select h1.hoge_cd
from hoge as h1, kensaku as k1, kensaku as k2
where h1.hoge_cd = k1.kensaku_hoge_cd
and k1.kensaku_kubun_cd = '01'
and k1.kensaku_key_cd in ('01', '02', '03', '04')
and h1.hoge_cd = k2.kensaku_hoge_cd
and k2.kensaku_kubun_cd = '02'
and k2.kensaku_key_cd in ('01', '02', '03', '04');
そもそも所与の条件に限定していうと、k1とk2はkensaku_kubun_cdが01か02か
の違いだけでkensaku_key_cdの条件は同一なんだから分ける必要はないように
見える。
select hoge_cd
from hoge, kensaku
where hoge_cd = kensaku_hoge_cd
and .kensaku_kubun_cd in ('01', '02')
and kensaku_key_cd in ('01', '02', '03', '04');
走るかどうか試してないけど。
--- MITSUGI kiyoshi <kiyoshi@xxxxxxxxxx> からのメッセージ:
> 広島の三ツ木です。
>
> 自己レスですが、hoge_cd INの部分で遅いのが明白なので、とりあえず
> それ以後のサブクエリー部分をビューに格納し、その後に
>
> SELECT hoge_cd FROM hoge, temp_view WHERE hoge_cd =
> kensaku_hoge_cd;
>
> を連結させてやることですぐに結果が返ってくることがわかりましたの
> で、これで対応しようと思います。
>
> ところで、実際にはPHP5.1.4との組合せでのWeb Applicationなのですが、
> この場合、ビュー自体は実行するたびにDROPしてやれば複数同時アクセス
> 時に不都合が起きづらい、という考えで良いのでしょうか。
>
>
> ----------------------------
> MITSUGI, kiyoshi
> kiyoshi@xxxxxxxxxx
> http://www.mitsugi.jp/
> ----------------------------
>
>
>
>
--------------------------------------
Yahoo! JAPAN 10th Anniversary Special Feature
--- Enjoy Yahoo! Auction with Yahoo! Mail !! ---
http://pr.mail.yahoo.co.jp/auction/
13016 2006-05-23 01:46 [MITSUGI kiyoshi <kiy] サブクエリーの書き方と処理速度について 13017 2006-05-23 08:37 ┗[MITSUGI kiyoshi <kiy] -> 13018 2006-05-23 09:09 ┗["F.Y" <fumi_sby@xxxx] 13019 2006-05-23 09:14 ┣["F.Y" <fumi_sby@xxxx] 13020 2006-05-23 10:06 ┗[MITSUGI kiyoshi <kiy]