저는 MySQL 데이터베이스에 연결하여 VBA 프로그램을 사용하여 일부 정보를 검색하는 데 탁월합니다. 처음에는 프로그램이로드 될 때 아래 쿼리가 있습니다.MySQL에 최적화 된 쿼리가 없습니다.
SELECT A.id,A.first_name,A.last_name FROM Table1 A WHERE A.ID NOT IN(SELECT DISTINCT
SUBJECT FROM Table2)
표 1과 같은 데이터가 있습니다.
- 1 크리스찬 베일
- 2 크리스토퍼 놀란
- 등
표 2는 같은 데이터가 있습니다.
- 1 배트맨 acted_in
- 2 배트맨
- 감독 등 는
내 쿼리 한 총 행 그러나 표 2에 적은만큼 완벽하게 잘 작동 는, 현재 나의 데이터가 테이블 1에서 26000 개의 행과 테이블 2에서 102000 개의 행이 포함되어 있습니다. 따라서 위의 쿼리를 프로그램에서 실행하면 쿼리를 실행하는 데 약 30 분이 걸리고 때로는 제대로 실행되지 않습니다. 아래의 쿼리도 시도했지만 오랜 시간이 걸립니다.
SELECT A.id, A.first_name, A.last_name FROM Table1 a
WHERE NOT EXISTS
(
SELECT 1
FROM Table2 al
WHERE a.id = al.subject
)
검색어를 바꾸는 효과적인 방법이 있습니까?
는 MySQL 버전에이 의존인가? SQL 구문 오류가 발생합니다. – Ramesh
바깥 쪽 조인이 아닌 바깥 쪽 조인트 여야합니다. – Barmar
차가움. 고마워. – Ramesh