准备工做:分别建立两个模型:users和orderssql
users模型:缓存
orders模型:性能
操做:(注意在控制器中引入须要用到的模型)优化
(1).多表查询:一对多it
读取orders的那一句能够优化成:效率
(2).多表查询:一对一循环
关联查询的性能问题:程序
1.释放缓存:因为关联查询的结果会被缓存,再次查询的时候须要释放缓存:unset($orders);方法
2.例如:若是要读取多个用户的全部的订单(屡次关联查询),会致使查询性能的急速降低;这时候,使用with()方法,将能够大幅提升性能:im
注释:with('orders')方法会将查询到的结果存放在一个临时建立的orders表中,当程序继续往下执行循环查询的时候,会将这个循环查询转换成sql中的in查询,大幅提升了查询效率。