我使用 sql azure 分析大表(1.3 亿条记录)中的数据。
问题是,当我尝试在 azure 上运行查询(本地需要例如 12 小时)时,我收到一个错误:
超时已过。在操作完成之前超时时间已过或服务器没有响应。
有什么方法可以防止它超时并在 azure 上执行长时间的 sql 查询?
您将无法执行在 Windows Azure SQL 数据库中使用那么多资源的查询。这在许多用户共享的环境中运行。这种查询会导致其他用户受到影响。我看到的最后一个文档将连接限制为 5 分钟。
但是,您可以在 Windows Azure VM 中启动 SQL Server 实例。画廊中甚至有可用的图像。在这种情况下,您可以控制整个 VM,并且可以使用您认为合适的资源。
如果您想使用 SQL Azure 进行查询,我会推荐处于预览模式的新“高级保留”功能。这为 SQL Azure 提供了专门的预留空间,并消除了一些限制,例如长时间运行的查询、限制和最大日志大小。
http://www.windowsazure.com/en-us/manage/services/sql-databases/sign-up-for-sql-database-premium/
我有带有复杂查询的大型表...(2000 万行) - 确保存在覆盖索引 - READ UNCOMMITED 或 NOLOCK 提示是你的朋友