+ -
当前位置:首页 → 问答吧 → 多个结构相同的表,要查出大量数据并分页用到了union 和rownumber()不过rownumber排序太慢了,请问各位大侠有什么好方法吗?在线等。。。。

多个结构相同的表,要查出大量数据并分页用到了union 和rownumber()不过rownumber排序太慢了,请问各位大侠有什么好方法吗?在线等。。。。

时间:2011-07-28

来源:互联网


WITH OrderedTable AS (SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY 拍摄时间 DESC) AS RowNum, * from(SELECT [车牌号码],[车牌颜色],[行驶方向],[拍摄地址],[拍摄时间],[速度],[状态],[东经],[北纬],[车牌照片],[车辆照片],
[车辆照片1],[编号],[联系电话],[id],[cpzp],[clzp1],[clzp2],[单位],[违章处理],[数据导出],[行驶状态],[车身颜色],[车型],[违章速度],[公路名称],[路段名称] FROM [garkcx].[dbo].[cfclxsjl_1] WHERE 1=1 AND 车牌号码 !='未检测'union all SELECT [车牌号码],[车牌颜色],[行驶方向],[拍摄地址],[拍摄时间],[速度],[状态],[东经],[北纬],[车牌照片],[车辆照片],
[车辆照片1],[编号],[联系电话],[id],[cpzp],[clzp1],[clzp2],[单位],[违章处理],[数据导出],[行驶状态],[车身颜色],[车型],[违章速度],[公路名称],[路段名称] FROM [garkcx].[dbo].[cfclxsjl_2] WHERE 1=1 AND 车牌号码 !='未检测' )A ) AS Temp) SELECT * FROM OrderedTable WHERE RowNum BETWEEN 1 AND 10  

就是rownumber over 排序没有用到索引,请问要怎么写sql语句才能实现从几个表中取出符合条件的记录呢?

作者: zhangguoqiang_stu   发布时间: 2011-07-28

up 就是不用union怎么写sql语句才能起到和他一样的效果呢?

作者: zhangguoqiang_stu   发布时间: 2011-07-28