(Sybase 및 MS SQL Server에서) Oracle 프로그래밍에 대해 익히기. 트랜스 로그에 대규모 업데이트를 채우지 않는 "오라클 방식"은 무엇입니까?트랜스 로그 작성을 피하기위한 Oracle SQL 기술
내 구체적인 경우에는 잠재적으로 매우 많은 수의 행을 업데이트하고 있습니다. 업데이트 된 행 개수가 0이 될 때까지 내가 루프 내부에서이 문제를 실행할 경우
UPDATE my_table
SET a_col = null
WHERE my_table_id IN
(SELECT my_table_id FROM my_table WHERE some_col < some_val and rownum < 1000)
이것이 가장 좋은 방법입니다 ... : 여기 내 접근 방식인가?
감사합니다.
저스틴 인덱스를 사용하지 않도록 설정하는 것은 새로 업데이트 된 NULL 값의 비율이 전체 테이블 크기와 비교할 때 매우 높을 때만 가능합니다. 어쩌면 80-90 % 정도입니다. 완전한 인덱스 재 작성 (기존 인덱스 인덱스가 아닌 처음부터)을 수행하려면 모든 행 정렬이 필요합니다. –
매우 사실입니다. 원래 Rob 게시 한 쿼리를 읽었을 때 some_col