準備工做:分別建立兩個模型:users和orderssql
users模型:緩存
orders模型:性能
操做:(注意在控制器中引入須要用到的模型)優化
(1).多表查詢:一對多it
讀取orders的那一句能夠優化成:效率
(2).多表查詢:一對一循環
關聯查詢的性能問題:程序
1.釋放緩存:因爲關聯查詢的結果會被緩存,再次查詢的時候須要釋放緩存:unset($orders);方法
2.例如:若是要讀取多個用戶的全部的訂單(屢次關聯查詢),會致使查詢性能的急速降低;這時候,使用with()方法,將能夠大幅提升性能:im
註釋:with('orders')方法會將查詢到的結果存放在一個臨時建立的orders表中,當程序繼續往下執行循環查詢的時候,會將這個循環查詢轉換成sql中的in查詢,大幅提升了查詢效率。