JSON 값의 쉼표로 구분된 목록으로 ID 목록을 얻었습니다. 일부 샘플 데이터세트는 다음과 같습니다. [340596,340597,340595] 이 목록은 엄청날 수 있으며 때로는 50,000개의 ID가 쉼표로 구분되어 있을 수 있습니다
다음 쿼리는 이러한 ID를 테이블 기본 키에 연결하고 현재 테이블에 존재하는 레코드를 가져옵니다
으아아아기본 테이블에 이러한 ID가 포함되어 있거나 이러한 레코드가 기본 테이블에서 삭제되었을 수 있으므로 이 쿼리의 목적은 반환된 결과 집합에 활성 레코드만 포함되어 있는지 확인하는 것입니다
이 쿼리에 필터를 하나 더 적용해야 했고 이는 또 다른 JSON int 배열을 기반으로 했으며 이를 ContactID 열과 일치시켜야 했습니다
으아아아그러나 Mysql IN 성능은 대규모 결과 세트의 경우 더 좋지 않습니다. 이 IN을 더 나은 것으로 바꿀 수 있나요?
P粉2519031632024-03-28 10:05:11
IN 절의 ID를 임시 테이블에 덤프한 다음 JSON_TABLE과 조인하여 결과를 얻을 수 있습니다. 또는 CTE를 사용하여 즐거운 시간을 보낼 수도 있습니다.
으아악