DataBase
[MS-SQL] IN 구문 사용 시 매개변수 2100개 초과
Hyo Kim
2021. 11. 9. 17:58
728x90
반응형
서론
잘 되던 게 안 됐다.
어떤거 때문일까??🤔
본론
MS-SQL에서는 매개변수를 최대 2100개까지만 허용하도록 해놓았다.
원인은 IN문을 통해 2100개 이상의 매개변수가 전달이 되어서 안 됐던 것..
이전에는 2100개까지 전달할 일이 없었지만 최근 데이터가 커지면서 발견된 버그!
SQL에 대해 또 하나를 알아간다..
* 해당 문제는 IN으로 조회한 컬럼 외에 다른 컬럼으로도 조회할 수 있는 방법으로 해결이 되었다. *
IN 문 자체가 효율이 좋지 않기 때문에 IN을 쓸 때에는
다른 방법으로 할 수 있는지를 체크해 보는 것도 좋은 방법일 것 같다.
다른 SQL들은 ?? 😏
MySQL은 max_allowed_packet 값을 통해 최대 크기가 결정되는 데 기본 값은 64MB 이다.
Oracle은 최대 1000개로 지정되어 있지만 다른 방법으로도 조회가 가능한 것 같다. (링크)
728x90
반응형