Truy vấn con đang được chạy cho mỗi hàng vì nó là một truy vấn tương quan. Người ta có thể tạo một truy vấn tương quan thành một truy vấn không tương quan bằng cách chọn mọi thứ từ truy vấn con, như sau:
SELECT * FROM
(
SELECT relevant_field
FROM some_table
GROUP BY relevant_field
HAVING COUNT(*) > 1
) AS subquery
Truy vấn cuối cùng sẽ giống như sau:
SELECT *
FROM some_table
WHERE relevant_field IN
(
SELECT * FROM
(
SELECT relevant_field
FROM some_table
GROUP BY relevant_field
HAVING COUNT(*) > 1
) AS subquery
)