(MySQL의) :일반 SQL 모델 최적화 질문 내가 DB 모델의 이런 종류의 최적화 할 수있는 가장 좋은 방법이 있는지 알 필요가
[category]
idCategory
name
[postCategory] (a post can be in more than 1 category)
idCategory
idPost
[post]
idPost
post
[comment]
idComment
idPost
inputDate
comment
내가해야 할거야 : 여기
내 테이블입니다 특정 시간 범위 내에서 특정 범주의 모든 게시물을 표시합니다 (시간은 "comments"에서입니다). 시간 범위는 고정되어 있습니다 (1 일, 1 주, 1 개월, 1 년). (인덱스를 사용 외에)이 최적화 할 수있는 방법이 있나요 ...
SELECT DISTINCT(post.idPost), post.post
from post
INNER JOIN comment ON post.idPost = comment.idPost
INNER JOIN postCategory ON postCategory.idPost = post.idPost
WHERE postCategory.idCategory = <myCategoryId>
AND comment.inputDate >= <today - time range>
하자
내가 10K 게시물과 50 만 코멘트를 지원하기 위해, 소원 말 : 는 여기에 내가와 함께 무엇입니까? 저장 프로 시저, 임시 테이블이있는 쿼리를 사용하고 "precalculated"필드를 어딘가에 추가 하시겠습니까?고마워요! :)
FWIW, DISTINCT (post.idPost)를 사용하면 DISTINCT가 하나의 열에 만 적용된다는 일반적인 오해를 나타냅니다. 이것은 잘못된 것입니다. 괄호를 사용하든 아니든간에 선택 목록에 의해 반환 된 전체 튜플에 항상 적용됩니다. 이것은 귀하의 질문과 관련이 없으며 단지 참고 용입니다. –