在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數據庫/ php從mysql獲取數據的時候數據關聯表數量應該控制在什么范圍

php從mysql獲取數據的時候數據關聯表數量應該控制在什么范圍

$result = $this->alias('a')
                ->field('a.id,a.guest_name,a.guest_family_name,a.is_abroad,a.guest_first_name,a.guest_nationality,a.guest_sex,a.is_often,d.certificate_num,e.name certificate_type,b.room_id,c.room_name,g.group_name,a.checkin_time')
                ->where($where)
                ->where('a.guest_name|a.guest_family_name|a.guest_first_name',$name)
                ->join('account b','a.account_id=b.id')
                ->join('hotel_room c','b.room_id=c.id')
                ->join('account_user d','a.guest_id=d.id')
                ->join('account_certificate e','d.certificate_id=e.id')
                ->join('account_group g','a.group_id = g.id','LEFT')
                ->order('a.id','desc')
                ->paginate($arr['limit'],false,['page'=>$arr['page']]);
                
                
                
                

如上,這是目前我們項目中獲取數據的寫法,關聯了多個表(表不是我架構的),問題是這樣關聯表對查詢速度是有影響的吧?如果有應該如何重新設計查詢語句?

回答
編輯回答
悶騷型

影響太大了。 JOIN 應該是按需 JOIN ,比如作查詢條件時可以用 WHEN ,能不聯就不聯。
但是看你的查詢字段每個表都要聯,可以查出主記錄后遍歷查每一個關聯的字段。

2017年11月9日 09:20