小编sha*_*wty的帖子

是否可以让 SQL Server 2008 从 URL 下载文件

我的网络上运行着一组基于 XML 的服务。

这些服务中的数据需要镜像到 SQL Server 2008 实例上的表中。

将 XML 放入表中没有问题我已经可以做到了,但我现在要做的是将一大串 XML 传递给存储过程,然后使用 OPENXML 命令将其插入表中.

我想知道的是,不是使用 3rd 方程序从服务中获取这些数据,然后调用存储的过程并插入它,我是否有可能让 SQL Server 直接从中获取 XML服务 URL 并像这样处理它。

无论我尝试多少次,我似乎都能找到大量关于从服务器文件系统读取文件/从服务器文件系统写入文件的文章和帖子,以及实际插入 XML 数据的几百万条左右的文章,但我似乎无法找到查找有关让服务器直接从 URL 获取数据的任何内容。

干杯

-----====== 更新 25/8/2012 ======--

经过更多的研究,我找到了第三种方法来做到这一点:

declare @xmlObject as int
declare @responseText as varchar(max)
declare @url as varchar(2048)

select @url = 'http://server/feed/data'

exec sp_OACreate 'MSXML2.XMLHTTP', @xmlObject OUT;
exec sp_OAMethod @xmlObject, 'open', NULL, 'get', @url, 'false'
exec sp_OAMethod @xmlObject, 'send'
exec sp_OAMethod @xmlObject, 'responsetext', @responseText OUTPUT
exec sp_OADestroy @xmlObject

select @responseText

exec …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 xml

4
推荐指数
2
解决办法
2万
查看次数

关于“LIMIT”如何工作的一点说明

不是 DBA 家族的纯血统成员,但更像是一个开发团队,我发现自己试图找出一些运行缓慢的查询。

然而,我的问题的主题不是“为什么我的查询很慢”,而是想知道 MySql 中的“LIMIT”命令是如何工作的。

目前,我仍在尝试对服务器性能本身进行故障排除,因此作为一种给它一些 SQL 来咀嚼的方法(只是为了让它做一些工作),我正在使用以下内容:

SELECT * FROM <table> LIMIT 10
Run Code Online (Sandbox Code Playgroud)

我正在使用的表是一个实时表,其中有超过 50Mil 的行,并且由于我目前只进行测试,我的期望是这将返回表顶部的前 10 条记录,并且很容易在 10 分钟内完成。

然而...

我看到这个 SQL 在 30 分钟或更长时间后仍在运行,并且似乎没有做任何事情。

我想特别澄清的是:

MySql 是否尝试从数据库中获取整个表然后才返回前 10 行

或者

MySql 是否在接收行时获取行并在计算收到 10 行后停止

干杯美女

mysql performance testing

4
推荐指数
2
解决办法
4482
查看次数

标签 统计

mysql ×1

performance ×1

sql-server-2008 ×1

testing ×1

xml ×1