속도.postgres vs mariad
Database 관리/PostgreSQL# 참조 : https://techblog.woowahan.com/6550/
# 설치편 먼저 볼 것.
Test Machine Spec) DELL Notebook i7 5500U 2C4T 16GMem SSD, Ubuntu 22
1) 1000 M Bulk Load Test
Data 1000MB 1000만건) 포맷은 아래 사진 참조
1.1) postgres 테스트
psql # \c service4loadtest;
psql # CREATE TABLE BULKLOADDATA_TBL (
A date default NULL, B date default NULL,
C varchar(10) default NULL, D varchar(10) default NULL, E varchar(10) default NULL, F varchar(10) default NULL,
G varchar(10) default NULL, H varchar(10) default NULL, I varchar(10) default NULL, J varchar(10) default NULL,
K integer default NULL, L integer default NULL, M integer default NULL, N integer default NULL,
O integer default NULL
);
psql # \dt
psql # copy bulkloaddata_tbl (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) from '/var/lib/postgresql/databaseloadtest/loadtest.dat'
결론 ) 23초 소요
mariadb )
mariadb # mysql -uroot -p
mariadb # create database service4loadtest;
mariadb # use service4loadtest;
CREATE TABLE BULKLOADDATA_TBL (
A date default NULL, B date default NULL,
C varchar(10) default NULL, D varchar(10) default NULL, E varchar(10) default NULL, F varchar(10) default NULL,
G varchar(10) default NULL, H varchar(10) default NULL, I varchar(10) default NULL, J varchar(10) default NULL,
K int(11) default NULL, L int(11) default NULL, M int(11) default NULL, N int(11) default NULL,
O int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
mariadb # LOAD DATA INFILE '/home/user/databaseloadtest/loadtest.dat'
INTO TABLE BULKLOADDATA_TBL
FIELDS TERMINATED BY ' '
LINES TERMINATED BY '\n'
(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);
결과 ) 41 초 소요
2) UPDATE 1000만건
psql # UPDATE BULKLOADDATA_TBL SET K = TRUNC(RANDOM() * 10000000);
결론) 35 초
mariadb # UPDATE BULKLOADDATA_TBL SET K = FLOOR(RAND() * 10);
결론) 51 초
3) 인덱스 생성 1000만건
psql # CREATE INDEX BULKLOADDATA_IDX ON BULKLOADDATA_TBL ( K );
결론) 6초
mariadb # CREATE INDEX BULKLOADDATA_IDX ON BULKLOADDATA_TBL ( K );
결론) 32초
4) 정수 Max SELECT 1000만건
psql # SELECT MAX(K) FROM BULKLOADDATA_TBL;
결론) 즉시
mariadb # SELECT MAX(K) FROM BULKLOADDATA_TBL;
결론) 0.001 초
5) 정수 SUM 1000만건
psql # SELECT SUM(K) FROM BULKLOADDATA_TBL;
결론) 1.5초
mariadb # SELECT SUM(K) FROM BULKLOADDATA_TBL;
mariadb # 2.5초
6)
'Database 관리 > PostgreSQL' 카테고리의 다른 글
설치/기본사용.우분투 (0) | 2022.06.15 |
---|---|
Docker 설치 (0) | 2022.01.18 |
필독) 특이 SQL 및 PLAN, Access 방식, 지원 Join, Query Rewrite (0) | 2021.12.30 |