테이블에는 약 800 만 개의 행이 있습니다.SELECT * FROM 테이블 WHERE x IN (... 수백 int ... ...)
인덱스가 표시되면 테이블에서 "seq_in_index"가 1이고 데이터 정렬 A, 카디널리티 7850780, sub_part NULL이 아닌 키 이름 X에 고유하지 않은 색인이있는 것을 보여줍니다. NULL을 포장, index_type BTREE.
그래도이 쿼리는 실행하는 데 5 초가 걸릴 수 있습니다. int의 목록은 다른 시스템에서 가져온 것으로, 소셜 네트워크에서 우정을 표현하기 때문에 테이블에 저장할 수 없습니다.
대규모 IN 문보다 빠른 방법이 있습니까?
+1 : 최적화 및 디자인에 대한 좋은 점 –
예, 데이터베이스를 비정규 화하여이 쿼리가 필요하지 않게 할 생각입니다. – Bemmu