Bitmap-based COUNT (DISTINCT) Functions
·
Oracle/SQL
개요 Oracle 19c에 추가된 BITMAP_BUCKET_NUMBER, BITMAP_BIT_POSITION, BITMAP_CONSTRUCT_AGG, BITMAP_OR_AGG, BITMAP_COUNT 함수를 사용하면 숫자 값에 대해 비트맵 기반의 COUNT (DISTINCT) 집계를 수행할 수 있습니다. 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP TABLE t1 PURGE; CREATE TABLE t1 (c1 NUMBER, c2 NUMBER, c3 NUMBER); INSERT INTO t1 VALUES (1, 3, 1); INSERT INTO t1 VALUES (1, 3, 2); INSERT INTO t1 VALUES (1, 4, 2); INSERT INTO t1 VALUES ..
ANY_VALUE 함수
·
Oracle/Performance
Oracle 19c에 ANY_VALUE 함수가 추가되었습니다. ANY_VALUE 함수는 집계 함수로 그룹에서 널이 아닌 첫 번째 값을 반환합니다. 이 함수는 첫 번째 값을 찾은 후 집계를 수행하지 않아 결과가 비결정적이고, MIN, MAX 함수보다 속도가 빠른 것으로 알려져 있습니다. ANY_VALUE ([ DISTINCT | ALL ] expr) 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP TABLE t1 PURGE; CREATE TABLE t1 (c1, c2) AS SELECT CEIL (ROWNUM / 1000000), CEIL (ROWNUM / 1000000) FROM XMLTABLE ('1 to 10000000'); 아래 쿼리는 수행에 0.65초가 소요됩니다. -- 2 ..
max_idle_blocker_time 파라미터
·
Oracle/Administration
Oracle 19c에 max_idle_blocker_time 파라미터가 추가되었습니다. 블로킹 세션이 이 파라미터에 지정한 시간동안 IDLE 상태로 유지되면 세션을 자동으로 종료됩니다. 기본값은 0으로 미사용입니다. 블로킹 세션으로 인해 성능 이슈가 발생하고 있다면 해당 파라미터의 적용을 고려할 수 있습니다.-- 1SELECT name, value, default_value, description FROM v$parameter WHERE name = 'max_idle_blocker_time';NAME VALUE DEFAULT_VALUE DESCRIPTION--------------------- ----- ------------- ------------------------..