나는 3 행과 MySQL의 InnoDB의 테이블, events
,이 : 나는 어떤 범위 내에서 모든 이벤트를 얻기를 위해 간단한 쿼리를 작성했습니다MySQL 쿼리는 인덱스에 더 오래 걸립니까?
event_id ---> int
start ---> long
end ---> long
을하는 다른 이벤트와 충돌 :
select a.* from events a, events b
where a.event_id != b.event_id and
a.start < b.end and
b.start < a.end
표 ~ 10K 행을 가지고 있으며 ~ 2 초 정도 걸립니다. 성능을 높이기 위해 표를 조정하려고 시도하면서 start
및 end
열에 색인을 추가했습니다. 어떤 이유로 든이 극적으로 은 성능이이고 속도는 5x입니다. 누구든지이 색인을 추가하는 것이 나쁜 성능을 손상시키는 이유를 알고 있거나 아이디어가 있습니까?
색인을 유지할 수있는 (다른 쿼리를 도울 수있는) 쿼리를 구조화 할 수있는 방법이 있지만 여전히 교차 조인과 필터를 수행 할 수 있습니까? – JaredC