0
내가 아는 주문한 내가 좋아하는 두 개의 쿼리가있는 경우 있음 :PostgreSQL을 인덱스 디자인 : 결합 인덱스는
SELECT * FROM fruits WHERE type='apple'
및
SELECT * FROM fruits WHERE type='orange' AND state='rotten'
을 다음 효과적인 인덱스는 다음과 같습니다
CREATE INDEX type_state_index_on_fruits ON fruits(type, state) USING btree;
이후 첫 번째와 두 번째 쿼리 모두에 대해 인덱스를 사용할 수 있습니다. 데이터베이스 후 정렬을 할 필요가 없습니다 것이다 그래야
SELECT * FROM fruits WHERE type='orange' AND state='rotten' ORDER BY picked_at ASC
내가 효과적으로 종류와 상태의 정렬 된 인덱스를 만들 수 있지만 picket_at으로 정렬 수 :
그러나 어떤이 들어가는이 정렬되어있는 경우 발생 두 경우 모두 행을 가져 오는 :
SELECT * FROM fruits WHERE type='apple' ORDER BY picked_at ASC
SELECT * FROM fruits WHERE type='orange' AND state='rotten' ORDER BY picked_at ASC
[실행 계획 확인] (https://www.postgresql.org/docs/current/static/sql-explain.html) –