我在SQL Server中有一个非常大的数据库(大约2000万行)。我必须以.csv格式备份该数据库。但.csv在单个文件中仅支持100万行。所以我无法备份整个数据库。因此,我必须在20个部分中打破该数据库。
为此,我必须选择1-100万,然后选择100万到200万等等。
因此,我可以通过使用选择TOP查询获得前100万。但我无法检索到100万到200万等等....
所以请帮我这样做。我应该使用什么技巧,或者我该怎么做才能在.csv文件中备份。
答案 0 :(得分:1)
尝试以下
select tab.col1,tab.col2,..tab.coln
from (
select a.*.row_number() over(order by Id) as rn
from table as a) as tab
where tab.rn between limit1 and limit 2
order by id
答案 1 :(得分:0)
使用LIMIT条款:
http://dev.mysql.com/doc/refman/5.0/en/select.html
即:
/* rows 0-1 million */
SELECT * FROM tbl LIMIT 0,1000000;
/* rows 1-2 million */
SELECT * FROM tbl LIMIT 1000000,1000000;
/* etc (these might be off by 1) */