问题
最近开发时,看到别人代码里一大段的join语句,这样做相比在应用层对主表查询后再根据关联条件查询分表有什么优缺点呢?
讨论
-
代码复用
如果用join的话大部分代码都无法重复使用,每次都要对每个表的查询条件重新编辑,分表查胜出。 -
消耗资源不同
用联表查询把任务都交给数据库处理,数据库处理的压力会变大,而且使用事务的话可能会锁表锁行,影响并发性能。
而使用分表查询,由于需要与数据库多次切换,会增加与数据库IO操作的开销。 -
筛选分页
这种情况下单表查询就很吃力了,感觉只能把分表的筛选条件作为主表的冗余字段来查询。
不然还是用联表查询比较好了。 -
分库分表
这种感觉就只能选择分表查询了吧?