DB 6

PPAS (PostgreSQL) 에서 트랜젝션 유의사항

PPAS (PostgreSQL Advanced Server)에서select - update 또는 select - delete 하는 경우 아래와 같이 트랜젝션이 겹칠 수 있다 보통 MySQL 등에선 Isolation Level 을 Serializable 로 설정 후 Select 한 대상을 Update 해서우의 상황을 해결하는데PPAS 에서 위와 같이 Transaction 을 처리하는 경우could not serialize access due to concurrent update예외가 발생할 수 있다. 보통 MySQL 등에서는 Serializable 상태에서 Select 하면 해당 테이블에 잠금이 생기지만PPAS 에서는 Update 하면서 잠기기 때문인데,1) Update 한게 다른 쓰레드(진입)에서 Sel..

DB 2016.09.30

SQL Developer 에서 날짜+시간 표시하기

Oracle 클라이언트로 많이 사용하는SQL Developer (4.x 기준) 에서는 기본적으로 'DATE' 데이터형을 YYYY-MM-DD 등 날짜 부분만 표시한다. 그러나 Oracle 는 날짜, 시간을 Date 형식으로 표현하기에 HH:MM:SS 등을 표시해야 한다 날짜 부분을 표시하기 위해도구 -> 환경설정 메뉴에 들어가[데이터 베이스] 의 [NLS] 페이지에 들어가서날짜 형식에 YYYY/MM/DD HH24:MI:SS 등 입력해 두면 시간을 볼수 있다.

DB 2016.08.21

Oracle Text - Fulltext index 실시간업데이트

oracle text 서비스를 만들때 CONTEXT 검색을 하기 위한 fulltext 인덱스를 만들면 주기적으로나 필요시 sync 를 맞춰줘야 하는데.. CREATE INDEX blahblah_indexing ON mytable(yourfield) INDEXTYPE IS CTXSYS.CONTEXT parameters ('Sync (on commit)') ; 위와 같이 sync (on commit) 파라미터를 전달해주면 자동으로 커밋한다. 다만, 자동으로 커밋될때마다 인덱스가 갱신되는건 좋으나, 단편화와 commit 속도 저하가 문제가 된다.. 고로 업데이트가 적은 경우에만 사용하도록 한다. 참고 : http://docs.oracle.com/cd/B28359_01/text.111/b28304/csql.ht..

DB 2014.09.25

mysql ft_min_word_len 변경이 안될때

mysql 5.6 을 윈도우에 설치해서 사용하다가 full text 설정을 변경하려고.. 정확히는 full text 검색할때 최소 단어 길이를 줄이려는데 c:\program files\mysql\mysql 5.6 폴더에 있는 my.ini , my-default.ini 파일을 아무리 고쳐도 SHOW VARIABLES LIKE 'ft_min_word_len' 이걸로 확인하면 안나왔다. 구글링해도 my.ini 에 있는걸 바꾸라고만... 헌데 포기하려다가 번들로 따라오는 MySQL Workbenth 에 Options File 에 보니!!!! 설정 파일이 무려! C:\ProgramData\MySQL\MySQL Server 5.6\my.ini 에 있단다 ... OTL.. 윈도우 서비스 엔트리에도 그렇고 죄도 Pro..

DB 2014.07.08

새로운 페이징 기법

MSSQL 에서만 되는거 같은데... 임시 테이블 없이 SET ROWCOUNT 만으로 간결하지만 엄청난 성능을 보여주는 쿼리를 찾았다 원문은 http://www.4guysfromrolla.com/webtech/042606-1.shtml 여기를 참고하면 된다. 글 하단에 벤치마킹한 데이터가 있는데 잘못 측정했나 싶을정도로 성능 차이가 난다 내가 테스트 해 본 쿼리는 alter procedure TEST_paging @PageNo int as begin declare @PageSize int; set @PageSize = 10; declare @FileNo bigint, @RowsBefore int; set @RowsBefore = (@PageNo - 1) * @PageSize + 1; -- 해당 페이지의 ..

DB 2013.10.28