PostgreSQL(4)
-
PostgreSQL Dynamic SQL bind, INTO How to,,
PostgreSQL에서 Dynamic SQL을 구현하고 bind 값을 입력하는 방법과 Dynamic SQL에서 결과값을 리턴 받는 방법을 알아본다. Dynamic SQL에서 결과값 받기 -- Count 값을 lCount로 받는 방법 DECLARE lSQL TEXT; DECLARE lCount INT; BEGIN lSQL := 'SELECT COUNT(*) TABLE_A '; EXECUTE lSQL INTO lCount; END; Dynamic SQL에 Bind 하기 -- Bind 하기 DECLARE lSQL TEXT; DECLARE lCount INT; BEGIN lSQL := 'SELECT COUNT(*) TABLE_A WHERE a=$1 AND b=$2'; EXECUTE lSQL INTO lCount..
2022.03.21 -
PostgreSQL Column alter Test, 속도 테스트
PostgreSQL에서 Table을 Alter 했을 때 속도를 테스트 해보자. 1. 파티션 테이블을 만든다 CREATE TABLE test( No INTEGER, ID BIGINT, Sigma NUMERIC(22,2), AddTime TIMESTAMP ) PARTITION BY RANGE (Addtime); 2. 7일짜리 Range Partition을 생성한다. CREATE TABLE test_20211101 PARTITION OF test FOR VALUES FROM ('20211101') TO ('20211102'); CREATE TABLE test_20211102 PARTITION OF test FOR VALUES FROM ('20211102') TO ('20211103'); CREATE TABLE..
2021.11.26 -
DBMS별 Table / Index 용량 확인하는 쿼리
Oracle SELECT a.tablespace_name AS TablespaceName , a.file_name FileName , (a.bytes - b.free) AS Used , b.free AS Free , a.bytes Total FROM ( SELECT file_id , tablespace_name , file_name , SUM(bytes) bytes FROM dba_data_files GROUP BY file_id, tablespace_name, file_name) a, ( SELECT tablespace_name , file_id , SUM(NVL(bytes,0)) FREE FROM dba_free_space GROUP BY tablespace_name, file_id ) B WHERE..
2021.11.11 -
PostgreSQL Partition Table
PostgreSQL에서 Partition Table을 만드는 방법은 상당히 쉽다. Partition을 왜?? 만들어 사용할까? 그 이유는 대량의 데이터를 저장할 때 하나의 Table에만 데이터를 저장한다고 가정을 하면, SELECT 할 때나 Update, Delete시 자료량이 많기 때문에 Table은 느려지고 비효율이 발생한다. 그래서 오늘은 날짜 기반으로 데이터를 테이블 단위로 저장하는 방법을 정리한다, Partition Table을 만드는 방법은 아래와 같다 1. Range Partitioning 2. List Partitioning 3. Hash Partitioning Range Partitioning 은 특정 범위의 데이터가 저장되도록 하는 방법으로, 내가 주로 사용하는 방법이다 예를 들면 날짜..
2021.11.09