IT(13)
-
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 Partition Table Full scan bug
오늘 이야기는 PosrgreSQL의 파티션 검색 버그에 대한 내용이다. PostgreSQL에 Table이 Partition이 되어 있을 경우, 그리고 RANGE 파티션일 경우에 해당된다. 대상 DB는 PostgreSQL 10.x 에 해당하는 것이며 11 부터는 해결되었다고 함 예를들어 날짜 기반의 RANGE 파티션 테이블을 하나 만들어 보자 CREATE TABLE eventhistory( a VARCHAR(10), b VARCHAR(10), ...... AddTime TIMESTAMP ) PARTITION BY RANGE (Addtime); CREATE TABLE eventhistory_20220210 PARTITION OF eventhistory FOR VALUES FROM ('20220210') TO..
2022.02.24 -
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated ORA-01262: Stat failed on a file destination directory
오라클 기동시 아래와 같은 오류가 날 때 ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated ORA-01262: Stat failed on a file destination directory 터미널로 접속해서 기동해 보면..... SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 8 16:56:11 2022 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> connect /as sysdba Connected to an idle instance. SQL> startup ORA-01261: Parameter db_r..
2022.02.08 -
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 -
Oracle plan_hash_value가 0 값을 가지는 이유
보통 plan_hash_value의 값은 큰 값을 가지고 있는데, 가끔 조회해 보면 0 인 값이 나오는 경우가 있다. 0 이라고 해서 비정상적인 것은 아니며 정상적인 값으로 해석할 수 있다. plan_hash_value 라는게 쿼리가 수행할때 하나의 참조용 경로이긴한데, Query가 bind 변수를 사용하고 커서가 구문을 분석하게 되지만 실행계획 생성이 bind 값이 제공될때 실행 시간까지 연기되기 때문에 발생 할 수 있다, 즉, 쿼리가 bind 되어 실행 될때 까지 계획이 없으므로 0 값으로 나타난다. 또 다른 이유로는 Query가 PL/SQL 블록인 경우 plan_hash_value가 0 인 경우도 발생한다, 위 쿼리에 sql_text까지 넣어보자. insert into 구문인 경우에도 plan_ha..
2021.11.23 -
안드로이드 스튜디오를 이용해서 Web View (웹앱) URL 연동,, 그냥 따라해보기
처음 시작하는 개발자를 위해서 환경설정부터 따라하기 쉽게 설명해 본다 안드로이드 어플을 만들때 단순하게 웹 주소를 호출해서 화면에 출력하는 Web View을 만들어 보겠다 1. 안드로이드 스튜디오 다운로드 https://developer.android.com/studio?hl=ko
2021.11.12