尽量用left join on 而不是select * from a,b,c where ...left join 而不是Join
left join时生成的中间表以左边表为基础,生成数据,此时数据量可以控制。
多个left join后,不要在where里出现表关联的限定条件,此时会破坏掉left规则。
多表时,小表在前,大表在后,字段量少的在前,字段量多的再后,虽然sql编译器一般会做优化,但是直接指定后优化会减轻数据库负担。
原理在于生成虚拟的中间表时笛卡尔积会少很多。
尽量用left join on 而不是select * from a,b,c where ...left join 而不是Join
left join时生成的中间表以左边表为基础,生成数据,此时数据量可以控制。
多个left join后,不要在where里出现表关联的限定条件,此时会破坏掉left规则。
多表时,小表在前,大表在后,字段量少的在前,字段量多的再后,虽然sql编译器一般会做优化,但是直接指定后优化会减轻数据库负担。
原理在于生成虚拟的中间表时笛卡尔积会少很多。