看海景大图的推文吗?将我们设为星标★即可~
SQL专栏
今天我们来讲讲临时表的优化技巧
临时表,顾名思义就只是临时使用的一张表,一种是本地临时表,只能在当前查询页面使用,新开查询是不能使用它的,一种是全局临时表,不管开多少查询页面均可使用。
本地临时表在表名前加#即可,我们先来看看本地临时表的特性
我们新建一个查询页面,输入如下代码:
SELECT TOP 10 * INTO #temp
FROM sales.Temp_Salesorder;
SELECT * FROM #temp;

我们再新开一个页面,重新输入如下代码:
SELECT * FROM #temp;
结果如下:

证明本地临时表只能在当前页面执行。
全局临时表在表名前加##即可,打开任何一个查询页面都可以使用它。
重复上面的步骤:
SELECT TOP 10 * INTO ##temp
FROM sales.Temp_Salesorder
SELECT * FROM ##temp;
结果和上面一样:

我们再新开一个页面:
SELECT * FROM ##temp;
结果还是一样。证明全局临时表所有查询页面均可以使用。
SELECT * FROM sales.Temp_Salesorder
WHERE SalesOrderDetailID IN
(SELECT SalesOrderDetailID FROM sales.SalesOrderDetail
WHERE UnitPrice IN
(SELECT UnitPrice FROM sales.SalesOrderDetail WHERE UnitPrice>0)
)
(提示:代码可以左右滑动)
这是一个比较简单的两层嵌套子查询,我们看一下执行情况:

SELECT SalesOrderDetailID INTO #temp FROM sales.SalesOrderDetail
WHERE UnitPrice IN (SELECT UnitPrice FROM sales.SalesOrderDetail WHERE UnitPrice>0)
SELECT * FROM sales.Temp_Salesorder
WHERE SalesOrderDetailID IN
(SELECT SalesOrderDetailID FROM #temp)


关注SQL数据库开发公众号,在后台回复关键字:资料领取,可以获取一份精心整理的技术干货。
推荐阅读

文章转载自SQL数据库开发,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




