您的位置:首页 > 数据库

SqlServer中临时表的应用

2017-01-13 10:06 176 查看
一、变通处理WHERE后面IN的参数过多

WHERE后面的条IN操作符里的参数比较小时,可以直接使用IN(1,2,3)这样处理,当个数不确定(可能超过1000)时,应该考虑使用临时表关联查询;

SELECT *
INTO #T_xxx
FROM T1

SELECT * FROM #T_xxx

SELECT * FROM T2 WHERE EXISTS(SELECT 1 FROM #T_xxx WHERE Colx=T2.Colx)

DELETE #T_xxx
DROP TABLE #T_xxx


好处

1.避免从数据库服务器拿大量数据到程序端;

2.用临时表的数据作为查询条件,可以简化WHERE后面的查询条件,如用 INNER JOIN T_xxxx,代替过长的IN(1,2,3)过滤条件

二、待补充

参考资料:

sql语句中当条件的数量非常大时where...in条件子句用什么更好的方法代替?-CSDN论坛-CSDN.NET-中国最大的IT技术社区 http://bbs.csdn.net/topics/390137775/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: