我正在使用 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 ''
然而,当这个命令完成时,我不知道如何跳过前 20,000,000 个并继续执行下一批 20,000,000 个而不杀死服务器。
任何帮助都会很棒。
使用 SQL Server2012,您可以使用OFFSET...FETCH
命令:
SELECT [URL]
FROM [dbo].[siteentry]
WHERE [Content] LIKE ''
ORDER BY (some column)
OFFSET 20000 ROWS
FETCH NEXT 20000 ROWS ONLY
为了使其发挥作用,您must按表中的某些列排序 - 您应该这样做anyway,由于TOP ....
没有ORDER BY
没用 - 你会得到任意行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)