MySQL IN 조건 제한


답변:


107

아니요 , IN 기능에 대한 설명서를 확인하십시오 .

IN목록 의 값 수 는 max_allowed_packet 값에 의해서만 제한됩니다 .


예를 들어 업데이트가있는 where id IN (14000 ids)경우 업데이트 쿼리가 64MB (기본값) 미만일 때까지 작동합니다. 맞습니까?
Oleg Abrazhaev

1
@OlegAbrazhaev IN키워드에는 기본 제공 제한이 없지만 max_allowed_packet값 수를 간접적으로 제한 할 수있는 다른 제한이있을 수 있습니다 . 이 값을 1024 (바이트)로 설정하면 제한된 수의 값만 효과적으로 사용할 수 있습니다.
Progman

20

내가 mysql에서 아는 한, IN명령문의 항목에는 제한이 없습니다 .

오라클에서는 IN명령문의 항목이 1000 개로 제한 됩니다.

그러나의 항목이 많을수록 IN해당 열이 인덱싱되지 않으면 쿼리 성능이 저하됩니다.


3
IN이 검색 기본 키인 경우 빠른 원인은 인덱스에서 반환됩니다
ajreal

-2

여기에 이미지 설명 입력

1073741824 이것은 Mysql 문서에 주어진 제한입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.