우리는 데이터베이스에 많은 데이터를 가지고 있으며 때때로 IN 절에 1000 개가 넘는 항목이있는 SQL 문을 호출해야합니다. 나는 그 SQL 문을 리팩토링해야하고 IN 절에 많은 항목이 있으면 안되지만 때로는 각 SQL 쿼리를주의 깊게 관찰하는 것이 쉽지 않다는 것을 알고 있습니다. 그래서 몇 가지 질문이 있습니다.HSQLDB/Oracle - IN 절에 1000 개가 넘는 항목
- 이 문제를 해결할 수있는 방법은 무엇입니까? 나는 몇 가지 발견 -이
... IN (SELECT id from temptable)
모양을 절 그렇게 - 이 항목에 대한 임시 테이블을 만들 항상 쉬운 일이 아니다 -
- 리팩토링의 SQL 문을
... id IN (...) or id IN (...)
같은 몇IN
조항에 좋은 생각을 - 분할
IN
절을 수 있습니다 - 오라클 DB는 IN 절에 대한 제한이 있지만 단위 테스트에 사용하는 HSQLDB에 대한 제한을 찾지 못했습니다. HSQLDB에서 어떤 설정이나 다른 방법으로이 제한을 설정할 수 있습니까?
- IN 절의 임시 테이블에 관해서 - HQL을 사용하여 임시 테이블을 생성하는 방법 (우리는 우리의 응용 프로그램에서 Hibernate 4.2를 사용한다)? 가능한가?
- 현재 데이터베이스에 많은 데이터가 없기 때문에
IN
개의 항목은 1000 개가 넘습니다. 그러나 응용 프로그램을 프로덕션 환경에서 시작한 후에도 (여전히 개발 프로세스 중입니다) 더 많은 데이터가 있으므로이를 준비해야합니다.
이 문제에 대한 경험은 무엇입니까? 어떻게 해결 했니? 우리의 환경에 대한
세부 사항 :
- 최대 절전 모드 4.2
- 는 HSQLDB 2.3.2
- 오라클 11g
(단위) 테스트를 위해 다른 DBMS를 사용하는 것이 좋지 않은 또 다른 좋은 예 –