쿼리를 작성하다보면 막연한 의문이 든다.. Where 조건을 작성하는 순서에 따라 성능에 영향을 미칠까? 혹은 INNER JOIN 순서가 성능에 영향을 줄까? 결론은 NO! 쿼리최적화 과정에서 순서를 맞춘다. SELECT * FROM member m WHERE m.age 0 and (100/m.age > 0) SELECT * FROM member m WHERE (100/m.age > 0) and m.age 0 where절 순서는 query optimizer가 적절히 변경해준다. 0으로 나누어 에러를 발생하는 경우를 발생시켜도 알아서 쿼리 순서를 최적화 시켜 실행시켜준다! SELECT * FROM member as m INNER JOIN organization as o ON m.organizationID ..
https://zdnet.co.kr/view/?no=20131119174125 카카오 "레디스, 잘못쓰면 망한다" 국민메신저 카카오톡 개발 업체인 카카오가 웹애플리케이션 서비스를 만드는 개발자들을 대상으로 오픈소스 기술 '레디스(Redis)' 활용 경험을 소개했다. 우... zdnet.co.kr 그에 따르면 레디스는 인메모리DB라 빠른 속도가 강점이지만 큰 용량의 데이터를 담기엔 공간 제약이 크다. 그래서 실시간 처리는 인메모리에서, 보관은 디스크 기반 스토리지로 하는 구조가 성능과 효율을 함께 달성할 수 있다. 트위터, 인스타그램, 페이스북처럼 대규모 사용자 기반을 갖춘 인터넷 서비스 업체들도 이런 식으로 서비스를 설계했다는 설명이다. 레디스는 32비트 환경에선 최대 3GB 메모리만 사용 가능하고 64..
https://americanopeople.tistory.com/292 (PostgreSQL) DB Lock을 줄이는 7가지 팁 해당 글은 When Postgres blocks: 7 tips for dealing with locks을 보고 정리한 글입니다 1. Default 값이 있는 필드를 추가하면 안된다 PostgreSQL 10버전 이하를 쓰고 있다면, Default 값이 있는 필드를 추가.. americanopeople.tistory.com 1. Default 값이 있는 필드를 추가하면 안된다 **do{numRowsUpdated\= executeUpdate("UPDATE items SET updated\_at = ? "+"WHERE ctid IN (SELECT ctid FROM items WHERE..
https://sksstar.tistory.com/88 [SQL] 인덱스의 단점 위의 그림을 보자. 회원 테이블과 이름 컬럼으로 만든 인덱스, 주소 컬럼으로 만든 인덱스, 연락처 컬럼으로 만든 인덱스가 있다. select * from 회원 where 이름 = '나한일'; 위 쿼리를 날리면 먼저 wher sksstar.tistory.com DB 성능을 향상 시키는 것이 목적 ( 시스템 부하가 줄어들고, 시스템의 전체 성능이 높아진다. ) 조회가 많을 경우 사용하는 것이 좋다. DML 작업시 치명적일 수 있다. ( 인덱스 생성 시간이 크게 요구 된다. rebuild, split) 테이블과 별도로 데이터를 독자적으로 보유하기에 데이터 추가시 인덱스 데이터도 추가됨 ( 결론 느려짐 ) 필요없는 인덱스가 많아지면..