찾다

 >  Q&A  >  본문

mysql - 如何减少使用或者不用LEFT JOIN查询?

PHPzPHPz2897일 전793

모든 응답(4)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 16:52:13

    키-값 쌍을 사용한 별도의 쿼리

    회신하다
    0
  • PHPz

    PHPz2017-04-17 16:52:13

    매우 간단하고 실용적인 해결책은 중간 테이블을 만들어 시간을 교환하는 공간입니다.

    또한, 데이터의 양이 일정 수준에 도달하면 데이터베이스와 테이블을 분리하는 것을 고려해보세요. mycat 미들웨어를 보면 됩니다.

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 16:52:13

    개인적으로 테이블을 하나씩 제외하여 어떤 테이블이 쿼리 속도에 영향을 미치는지 확인한 후 이를 기반으로 인덱스 최적화를 수행하는 것이 좋습니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 16:52:13

    데이터베이스 최적화의 관점에서 볼 때 최종 결과는 단지 개수(*)와 많은 수의 연결일 뿐이므로 메모리 소모와 시간 낭비가 발생합니다.

    아이디어를 알려주세요.
    SQL 결과를 다음과 같이 만드세요.

    < /p>

    최종 개수(*)는 각 행의 수량을 곱하고 최종 더한 것과 같습니다.
    즉, (수량 11*수량 12*...*수량 16)+(수량 21*입니다. ..*수량 26)< br>대다수의 데카르트 곱을 줄이기 위해.

    SQL:

    select t_for_sale.id, nvl(t1.count1, 0), ...
    왼쪽 조인(id로 t_user 그룹에서 id, count(*) count1 선택) t1.id=t_for_sale.id의 t1
    ....
    t_for_sale에서
    

    회신하다
    0
  • 취소회신하다