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

sql 查询有关问题 很复杂

2013-07-08 
sql 查询问题 很复杂我有一个表,其中数据有几百万,我要把这个表的数据6万6万的导出到excel,我要怎么查询才

sql 查询问题 很复杂
我有一个表,其中数据有几百万,我要把这个表的数据6万6万的导出到excel,我要怎么查询才能刚刚好查询到6万。 效果是复制过的就不要查询了那种。
[解决办法]
前提最好是你的表有一个自增ID,这样按照ID来查询并导出
[解决办法]
需要考虑效率吗?
[解决办法]
你看以下简单思路否可行

--建一张临时表 如:
--VID 是int型主键
select top 0 VID into #tb from table

---重复以下,直到数据导完
---begin---
select top 60000 VID,VName,... from table where table.VID not in (select #tb.VID from #tb) order by VID

insert into #tb (VID) select top 60000 VID from table where table.VID not in (select #tb.VID from #tb) order by VID

---end------

[解决办法]
这个跟分页查询差不多吧?
[解决办法]
既然数据那么庞大,那每次选完之后就把已选的删除掉,或许效率会高些?
先全选数据放入临时表,或者视图中,select top(60000) from table ,然后delete top(60000)from table
对于大数据,这样或许可行吧?
[解决办法]
一种是临时给表增加一个自增字段,int类型,然后写代码,循环,每次读取6万条到EXCEL。
另外一种就是每次读6万条后,删除源表中已经成功导出到EXCEL的记录,前提是该表无所谓保留不保留。

热点排行