出现13个表left join 是表设计问题么?
为了逻辑上的正确 设计了A 表
查询结果缺是 A表 join B C D E F G H I J K L M N O表
B-O表均为字典表
结果 查询就变成一长串
select A.*,B.Name,C.Name,D.Name,E.Name,F.Name… from A left join B on A.b_id=B.id left join …
不知是否可有优化处理,这样的查询结果太慢了!
为了逻辑上的正确 设计了A 表
查询结果缺是 A表 join B C D E F G H I J K L M N O表
B-O表均为字典表
结果 查询就变成一长串
select A.*,B.Name,C.Name,D.Name,E.Name,F.Name… from A left join B on A.b_id=B.id left join …
不知是否可有优化处理,这样的查询结果太慢了!
如果业务逻辑
非常麻烦的话
是没有什么问题的
这种情况的话
sql语句就不能在怎么优化了
如果其他表也有这样的话
拿你就先对B表进行处理
把B表处理成视图的形式
然后在与A表进行连接查询
这样会好点
将所有的table scan(也就是表扫描)
改为index scan(索引扫描)
这样有可以加快
效率
哈希匹配 开销 较大