抽出が出来ないくらい遅いクエリ
以下のようなクエリーを作成して検索を
行っているのですが、どうしても抽出が出来ないくらい
遅くどの部分で遅くしているのかが分からないため、
どなたか教えてもらえないでしょうか?
※足りない情報があればすみませんが、仰ってください。
なるべくプログラム(PHP等)を使わずクエリのみで
行いたいので、PHP云々の話しは無しでお願い致します。
最初の抽出テーブル(osi)と次の抽出テーブル(osday)
をそれぞれ個別で動かすと普通の速度で抽出が旨く行きます
が、それらをくっつけた形
select (省略) from osi,osday where osi.id=osday.id;
とすると、抽出が行えない又は非常に遅いとなります。
///////// 実際のクエリー文です /////////
select osday.odid,odctmid,saitemname,startday,endday from
(
select
odid,saitemname
from order1 as o,sale as s
where o.odid=s.saorderid
and (o.odshipdue >= '2007-12-1 00:00:00' and o.odshipdue <= '2007-12-18 23:59:59')
and (o.odcancelflag='0' or o.odcancelflag is null)
and o.odclass<'4' and s.saregular='1'
and s.saitemcode in (select itcode from item where itcategory='1')
and odmakeday is not null
) osi
,
(
select
odid,max(odctmid) as odctmid,to_char(min(o.odshipday), 'YYYY-MM-DD') as startday,to_char(max(o.odshipday), 'YYYY-MM-DD') as endday
from order1 as o,sale as s
where o.odid=s.saorderid
and (o.odshipdue >= '2007-12-1 00:00:00' and o.odshipdue <= '2007-12-18 23:59:59')
and (o.odcancelflag='0' or o.odcancelflag is null)
and o.odclass<'4' and s.saregular='1'
and s.saitemcode in (select itcode from item where itcategory='1')
and odmakeday is not null group by o.odid
) osday
where osi.odid=osday.odid;
///////////////////////////////////////////