쿼리 작성 및 최적화
·
독서/데이터베이스
SELECT INSERT, UPDATE의 경우 레코드 단위로 작업을 하기 때문에 성능상 문제가 되는 경우가 별로 없지만, SELECT의 경우 여러 테이블로부터 데이터를 불러와 조합해서 처리하기 때문에 테이블을 어떻게 읽을 것인가에 많은 주의가 필요하다. 인덱스를 사용하기 위한 기본 규칙 인덱스는 B-Tree에 아무런 변환 없이 정렬된 상태로 저장되기 때문에 인덱스를 사용하려면 기본적으로 인덱스 된 칼럼의 값을 그대로 사용해야 한다. 만약 MD5() 함수와 같이 해시 값을 만들어 비교하는 경우 미리 계산된 값을 저장하도록 가상 칼럼(Virtual Column)을 추가하고 그 칼럼에 인덱스를 생성하거나 함수 기반의 인덱스를 사용해야 한다. 값을 변환하지 않는다는 규칙은 WHERE절에서 비교하는 두 값의 데이..