2

このようなテーブルが2つあります

A             B
----          -------       
col1  col2    col1   col2
----------    -----------

テーブルには 30 万行が含まれる B テーブルには 40 万行が含まれる

テーブル B の col1 と一致する場合、テーブル A の col1 をカウントする必要があります。次のようなクエリを作成しました。

select count(distinct ab.col1) from A ab join B bc on(ab.col1=bc.col1)

しかし、これには時間がかかりすぎます

4

2 に答える 2

1

グループ化を試すことができます...また、col1が両方のテーブルでインデックス付けされていることを確認してください

SELECT COUNT (col1 )
FROM
(
SELECT aa.col1
FROM A aa JOIN B bb on aa.col1 = bb.col1
GROUP BY (aa.col1)
)
于 2013-10-18T09:08:08.560 に答える