728x90

스마트웹앱콘텐츠전문가/데이터베이스 42

[PostgreSQL] 현재시각에서 하루 전 데이터 조회

PostgreSQL은 강력한 관계형 데이터베이스 관리 시스템으로, 다양한 쿼리 기능을 제공합니다.데이터 분석이나 일일 보고서를 작성할 때, "현재 시각 기준으로 하루 전 데이터를 조회하는" 작업은자주 발생할 수 있습니다.이 글에서는 PostgreSQL에서 하루 전의 데이터를 조회하는 방법을 상세히 설명하고,이를 활용한 쿼리 작성법을 알아보겠습니다.  1. PostgreSQL에서 날짜 및 시간 데이터 다루기 PostgreSQL에서 날짜와 시간을 다루는 데 필요한 핵심 개념은 CURRENT_TIMESTAMP와 INTERVAL**입니다. 이를 활용하면 원하는 시간 범위의 데이터를 쉽게 조회할 수 있습니다.  1.1 CURRENT_TIMESTAMP와 INTERVALCURRENT_TIMESTAMP: 현재 날짜와 ..

[postgresql]대소문자구분없이조회

postgresql 에서는 비교적 간단한 쿼리를 작성하여 데이터를 대소문자 구분없이 조회할 수 있습니다. ※ 방법 : LIKE -> ILIKE 'LIKE' 대신 'ILIKE'를 사용하는 것 입니다. > SELECT * FROM TEST WHERE NAME LIKE '%KIM%'; #NAME 데이터 중 KIM이 포함된 데이터 조회(대소문자구별O) ----------- NAME ----------- KIM MIN SU KIM HOON KIM MINA ----------- > SELECT * FROM TEST WHERE NAME ILIKE '%KIM%'; #NAME 데이터 중 KIM이 포함된 데이터 조회(대소문자구별X) ----------- NAME ----------- KIM MIN SU KiM YOON S..

[마이바티스] FetchSize

마이바티스 FetchSize 설정을 통해 쿼리 조회 성능을 높일 수 있습니다. //예시 기본적으로 fetchSize를 설정하지 않으면, 기본값은 10 입니다. (비교 : 조회하려는 데이터가 2000건이라고 가정한다면, fetchSize를 기본(10)으로 할 경우, DB에서 200번 조회를 하게 되고, fetchSize를 1000으로 설정 할 경우, DB에서 20번 조회를 하게 됩니다.) 따라서, fetchSize 설정을 통해, 조회 성능 특히, 조회 소요 시간을 단축시킬 수 있습니다.

[MariaDB]Interger to Boolean

MariaDB에서 테이블 컬럼을 boolean 형식으로 사용하고 싶은 경우, 타입이 boolean이 형식이 아닌 tinyint 형식으로 저장이 됩니다. 문제는 여기서, 프로그래밍으로 이 데이터를 꺼내 Boolean 데이터로 가공하려고 햘 때 발생합니다. 다음 내용을 한 번 보시죠. // Integer to Boolean Boolean test = Boolean.valueOf(String.valueOf(testService.get("dataBoolean"))); // testService.get("dataBoolean") false, 0 -> false ) 참, 아이러니하게도 해당 컬럼의 타입(길이)를 변경해 주면 결과는 달라집니다. 2. "dataBoolean" 컬럼의 타입(길이)이 tinyint(1)이..

[Mybatis] 조회값이 아예 없는 경우

조회한 데이터가 아예 없는 경우, 즉, 조회 결과 행(row)이 아예 없는 경우를 한번 쯤을 경험해 봤을 겁니다. 이 경우, 자바에서 호출하게 되면 NullException 오류가 나옵니다. 이 Null 처리에 대한 방법은 여러가지가 있겠지만, 마이바티스 설정을 통해서 어느 정도 해결할 수 있습니다. 바로 이것이죠. 바이바티스 설정 파일에 추가하면 됩니다.(흔히 mybatis-config.xml, configuration.xml)

[mariaDB]IFNULL

개발 중 DB 연동 후 쿼리 조회 값을 형 변환이 필요 한 경우, 값 자체가 NULL인 경우, 변환이 안 되기 때문에 NULL EXCEPTION 에러가 발생합니다. 이 NULL EXCEPTION 에러 조치 중 하나인 조회 값 자체를 NULL로 리턴해 주지 않으면 됩니다. 마리아디비에는 IFNULL 이란 함수가 있습니다. 사용 예시) SELECT IFNULL(1, 0); => 1 SELECT IFNULL(NULL, 10); => 10 ※ IFNULL(A1, A2) : A1의 값이 NULL이 아니면 A1 결과 값을 RETURN, A1의 값이 NULL이면 A2를 RETURN 참조) mariadb.com/kb/en/ifnull/

[MariaDB]시퀀스 사용

MaridDB에서도 10.3 버전 이후로 시퀀스를 제공해 주어서 사용할 수 있습니다. 해서! 사용 방법을 포스팅하겠습니다. 예시) 시퀀스 명 : test_seq [시퀀스 생성] CREATE SEQUENCE CREATE SEQUENCE test_seq INCREMENT BY 1 MINVALUE = 1 MAXVALUE = 99999999 START WITH 1 [시퀀스 수정] ALTER SEQUENCE 여기서는 초기화 용도로 사용 ALTER SEQUENCE test_seq RESTART 1; [시퀀스 확인] SELECT SELECT * FROM test_seq; [시퀀스 삭제] DROP SEQUNCE DROP SEQUENCE test_seq; [일반적인 사용] ※ SETVAL 사용 시, LAST VALUE ..

[레디스]윈도우 설치 및 실행

1. 윈도우용 레디스가 따로 존재합니다. 2. 해당 깃허브 사이트에서 다운로드합니다. github.com/dmajkic/redis/downloads 3. 다운로드 받은 파일을 압축을 풉니다. 4. 압축을 풀면 32bit, 64bit 디렉토리가 각각 나오는 데, 본인의 환경에 맞게 선택합니다. 5.(64bit PC) 64bit 디렉토리 하위에 'redis-server.exe'를 실행시키면 서버가 실행됩니다. (실시간으로 client connection을 감지) ○ 서버 콘솔 화면 ○ 서버 CLI 접속 및 서버 콘솔 확인

JDBC Connection Pool

개념 : 각각의 커넥션(DB Connection 객체) 부하(비용 + 시간 포함)를 줄이기 위해 Pool 형태로 묶어 놓은 것 = 커넥션 객체를 미리 생성해 두고 있다가 필요할 때, 풀에서 꺼내쓰고 다시 반환하는 형태 참고 : 오픈소스 -DBCP : commons.apache.org/proper/commons-dbcp/ -C3P0 : www.mchange.com/projects/c3p0/ Connection Pool(이하 커넥션풀)을 효율적으로 관리하기 위한 값들 maxActive - 동시에 사용할 수 있는 최대 커넥션 개수 maxIdle - 커넥션 풀에 반납할 때 최대로 유지될 수 있는 커넥션 개수 minIdle - 최소한 유지할 커넥션 개수 initialSize - 최초로 getConnection()..

728x90