dvaknheo
2019-11-06 21:57:58 +08:00
我整理一下, 高级用户表,根据一些数据,要追加 基础用户表的 用户名,头像。 高级用户表和基础用户表是 user_id 一对一,这很简单吧。
我要显示我深圳地区的 VIP 会员的状态和头像,只要在线的。
从 VIP 会员表(小表 Vip )里查出地址:深圳,然后 连表查询 基础 用户表(大表,UserModel), 状态为在线。 一个 left join user_id 完事。
为什么会先从大表查, 然后小表里 whereIn (user_id) 呢。
原因是获取头像这个操作,是写在 UserModel 类的方法是要根据 $this->user_id 做一堆操作的(包括连其他表!);不接受外部 user_id.
用户名,也是从 UserModel->username 得的。
老程序员的想法,先是,怎么写 sql,然后改成 where() 模式, 然后再想怎么转成 model .
而那些 L 记没学过 sql 的,和 Hibernate 之类 ORM 的。根本就不考虑 sql 性能。反正一把梭就是。
产生了类似 count( Model->where()->get()); 之类的性能悲剧