如何提高 3个表 的LEFT JOIN的执行速度
答案:2 悬赏:40 手机版
解决时间 2021-04-08 02:29
- 提问者网友:疯孩纸
- 2021-04-07 15:15
如何提高 3个表 的LEFT JOIN的执行速度
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-04-07 16:30
T-SQL脚本优化技巧: 1)对于SELECT/UPDATE语句必须显示的定义所有的列,避免使用星号。 2)在执行SELECT/INSERT/UPDATE/DELETE语句时,请考虑执行规划的重用,尽量考虑用SP-EXECUTESQL存储过程。 3)优先使用 SELECT...INTO,然后使用 INSERT...SE...
全部回答
- 1楼网友:傲气稳了全场
- 2021-04-07 18:05
create table #test (
year int,
name char(2),
tax int
)
go
insert into #test values(2010, 'a', 3000);
insert into #test values(2010, 'b', 2000);
insert into #test values(2011, 'b', 1500);
go
select
all_year.year,
all_name.name,
t.tax
from
(select distinct year from #test) all_year
cross join (select distinct name from #test) all_name
left join #test t
on (all_year.year = t.year and all_name.name = t.name)
order by
all_year.year,
all_name.name
go
year name tax
----------- ---- -----------
2010 a 3000
2010 b 2000
2011 a null
2011 b 1500
(4 行受影响)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯