2012-05-17 이후에 계획 테이블에 추가 된 새로운 시장을 찾고 싶습니다. 이 선택은 작동하지만 16k 레코드의 경우 성능이 느립니다. 두 번째 고유 키워드를 제거하면 성능이 크게 향상되고 같은 결과를 얻지 만 훨씬 빠른 선택이 필요합니다. 그것은 약 25 초 걸립니다. 더 빠른 방법이 있어야합니까?mysql 성능을 선택하지 않은 경우
select distinct(market)
from plan
where date_added > '2012-05-17'
and market not in (select distinct(market) from plan where date_added < '2012-05-17')
'distinct'는 함수가 아닙니다. 그래서 '뚜렷한 (시장)'을 쓰는 것이 이치에 맞지 않는다. 그리고 당신은 실제로 하위 선택에서 별개를 필요로하지 않습니다. 하지만 내가 원하는대로 하위 시장을 추가 할 필요는 없습니다. 원하는 날짜 이후에 시장을 추가하기 만하면됩니다. –
성능이 좋지 않고 불필요하다는 것을 알고 있지만 성능을 더 향상시키는 방법을 모르겠습니다 ... 올바른 단어 'keyword'로 'function'이라는 단어를 변경했습니다 – panofish
한 가지 옵션은 하위 선택에서 'max (date_added)'를 선택한 다음'max (date_added) < '2012-05-17'이 표시된 레코드 만 선택하십시오. 그냥 생각. 또한, 오라클에서'MINUS '를 사용하여 극적인 향상을 보았지만 mysql에 그러한 것이 있는지 확실하지 않았습니다. – Marc