MSSQL 2008 R2 を使用しています。膨大な数の行を持つテーブルがあります(テストテーブル)
次の SQL コードがあります。パフォーマンスを向上させるために、インデックス ヒント、強制シーク、またはその他の手段を使用できる場所を提案してください。
インデックス
1. 非クラスター化 - idx_id
(id)
2. 非クラスター化 - idx_name
(name)
SELECT DISTINCT
p.id,
p.name,
FROM
test p
LEFT OUTER JOIN
(
SELECT
e.id
FROM
test e
INNER JOIN
(
SELECT
c.id
FROM
test c
GROUP BY
c.id
HAVING
COUNT(1) > 1
) f
ON e.id = f.id
WHERE
e.name = 'test_name'
) m
ON p.id = m.id
WHERE
m.id is null