I는 다음과 같습니다 SQL 쿼리를 가지고 :오라클 LIMIT 1000 열은 제한
SELECT *
FROM (
SELECT t.*,
ROW_NUMBER() OVER (ORDER BY ...) rnum
FROM (
... original SQL goes here ...
) t
)
WHERE rnum BETWEEN 1 AND 10
제 질문은 원래 쿼리가 다른 테이블에 많은 수의 조인을 통해 1000 개 이상의 열을 선택한다는 것입니다. 오라클은 테이블이나 뷰 당 1000 열의 내부 제한을 가지고 있으며, 결과 집합을 제한하기 위해 사용하는 래퍼 SQL은이 제한이 적용되는 임시 뷰를 생성하여 모든 작업을 실패하게 만듭니다.
페이지 뷰를 생성하지 않거나 1000 열 제한의 영향을받지 않는 다른 방법이 있습니까?
나는이 모든 방법을 이미 완전히 알고 있기 때문에 작업을 청크로 분해하고 1000 개 이상의 열을 선택하지 않는 것이 좋습니다.
"* 1000 개 이상의 열 선택 *", 데이터 모델에 대한 이상한 점이있는 것 같습니다. –
@a_horse_with_no_name : 이상한 점은 특정 도메인에 관련성이 높고 필요한 단일 항목에 대한 1000 개 이상의 개별 데이터가 있음을 의미합니다.하지만 모든 도메인 컬렉션에서 극히 드문 경우라면, 다시 맞습니다. 전혀 도움이되지는 않지만 정확합니다. – FtDRbwLXw6
데이터베이스 디자인 30 년 동안 나는 1000 개 이상의 컬럼을 필요로하는 엔티티를 본 적이 없다. 모델이 최적화되어 증상을 해결하기보다는 문제의 근본 원인을 해결할 수 있다면 놀랄 일이 아닙니다. –