我使用的是Microsoft SQL Server Management Studio,在SQL Server方面的专业知识很少,但是我过去使用过MySQL,并且相当擅长。
我的问题是:我的数据库很大,有超过1.3亿条记录。
我希望仅获取URL列,但仅获取此列中的每个记录。
Microsoft SQL Server Management Studio在保存到文件时由于一个或另一个错误而阻塞,因此我得出的结论是我需要分批执行此操作。
我目前正在运行此命令并保存到文件
SELECT TOP 20000000 [URL]
FROM [dbo].[siteentry]
WHERE [Content] LIKE ''
但是,当此命令完成时,我有0条线索,如何跳过前20,000,000个并继续执行下一个20,000,000个而不杀死服务器。
任何帮助都会很棒。
使用SQL Server 2012时,可以使用以下OFFSET...FETCH
命令:
SELECT [URL]
FROM [dbo].[siteentry]
WHERE [Content] LIKE ''
ORDER BY (some column)
OFFSET 20000 ROWS
FETCH NEXT 20000 ROWS ONLY
为此,您必须按表中的某些列排序-无论如何,您都应按顺序排序,因为TOP ....
不带aORDER BY
是无用的-您将获得任意行
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句