假设有两个数据表
用户表:
id (int 11)
education_id int(11)
教育表
education_id int(11)
school varchar(32)
....
现在我要查询一个用户的受教育情况,有两种方法:
- 通过用户表和教育表的join查询,通过数据库的查询语句实现
- 程序控制:先通过用户表读出education_id,然后再读数据库的教育表
这两种实现方式在性能上有何区别?
索引建的好两种方式速度上差不多
联表查询有额外的性能消耗,并且访问的数据更多,堵塞写的几率也更大,采用第二种方式比较好
如果where条件分布在两张表中并需要分页的话,还是得联表查询