したがって、2,000 万行のテーブル bj10dcmegablast があります。今、私は次のようにクエリを実行したい
select *, max(qEnd - qStart)
from
(select qFileID,qLocus,qTranscript,qLength,sFileId,sLocus,sTranscript,
sLength,qStart,qEnd,sStart,sEnd
from bj10dcmegablast
where (qLocus, qTranscript)
in
(select distinct qLocus, qTranscript
from
(select qLocus, qTranscript, count(distinct sFileID) as counts
from bj10dcmegablast
group by qLocus, qTranscript
having counts > 6) as middle1)) as middle2
group by qLocus,sLocus;
どれくらい時間がかかるかわかりません。このクエリを 1 時間実行しました。まだ終わっていません。
だから私はいくつかのテストを行いました:
select qLocus, qTranscript, count(distinct sFileID) as counts
from bj10dcmegablast
group by qLocus, qTranscript
having counts > 6
これには 40 秒かかります。
select distinct qLocus, qTranscript
from
(select qLocus, qTranscript, count(distinct sFileID) as counts
from bj10dcmegablast
group by qLocus, qTranscript
having counts > 6) as middle1;
これには2分かかります。
完全なクエリがどれくらい続くと思うか、誰でもわかりますか?