首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL2000大数据IN查询并且要求排序

2013-02-19 
SQL2000大数据IN查询而且要求排序IN查询的条件大概有80几条。表数据有上百万条。[解决办法]in 的效率确实很

SQL2000大数据IN查询而且要求排序
IN查询的条件大概有80几条。
表数据有上百万条。

[解决办法]
in 的效率确实很差。

参考;
http://www.111cn.net/database/mssqlserver/41202.htm
[解决办法]
我当时有一个存储过程A里面调用存储过程B,而会在A里面根据参数运算出一堆ID,然后传入B,B里面有一个动态sql是in这堆ID的,所以我后来改成这堆ID,通过函数,转换成一个表,然后已表变量的方式传入到B中。具体的函数我现在没有,叶子的你可以考虑用一下:
http://blog.csdn.net/maco_wang/article/details/6265934
[解决办法]
先把in的值插入到临时表,然后
select a.*
from tab a,#temp t
where a.col = t.col

如果使用存储过程,可以将in的参数拼接成一个xml,作为存储过程参数,存储过程中将xml转到临时表,这个方法查询in几千个值速度没有问题

热点排行