假如要从SQL里得到一笔数据,来自10张以上的表,
A. 一个select 完成join 或left join...这10多张表,得到结果;
B. 两两join到临时表变量,再join下一张表,得到结果.这两种方法,哪种效率更高?
当需要取的数据分布在10多张以上的表,并且其中有些表的数据已经过100万条的时候,用什么办法是最优的呢?听听高手们的意见?
A. 一个select 完成join 或left join...这10多张表,得到结果;
B. 两两join到临时表变量,再join下一张表,得到结果.这两种方法,哪种效率更高?
当需要取的数据分布在10多张以上的表,并且其中有些表的数据已经过100万条的时候,用什么办法是最优的呢?听听高手们的意见?
sql的硬件环境:3台服务器组,每台配置8G ram+4 cpu我最终用的还是第二种方案,且用的是临时表,没有用表变量.
远程用户取其中一个报告,一个月整个公司的数据,大约花费4分钟,高峰的时候,低于10分钟.