머리말
오늘 웹사이트 중단 문제가 발생했습니다. 이를 해결하는 데 몇 분이 걸렸는데, 예약된 스크립트에서 SQL을 찾았습니다. 매우 느립니다. DBA가 변경을 제안하여 효율성이 수백 배 향상되었습니다.
시나리오 설명
1. 두 테이블 연관 쿼리
2. table1의 데이터 양이 100만 개에 가깝습니다. table2의 데이터가 9백만 개에 가깝습니다
4. 쿼리 조건의 제목 필드가 색인화되지 않았습니다
5. 원본 쿼리 문
SELECT a.id as id FROM `table1`as a left join table2 as b on a.id=b.id WHERE b.title="衣服" or b.title="裤子" or b.title="帽子" limit 0,100
로그인 후 복사
SELECT a.id as id FROM `table1`as a left join table2 as b on a.id=b.id WHERE b.title IN ("衣服","裤子","帽子") limit 0,100
로그인 후 복사
mysql 비디오 튜토리얼"