【发布时间】:2011-11-17 08:29:17
【问题描述】:
这可能是一个愚蠢的问题,但我试图了解当您从 SQL Server 检索数据时会发生什么。假设我们从索引视图中选择数据以消除歧义。
所以我的理解是查询优化器会将其视为表。好的,但是在调用视图和返回给客户端的实际数据之间发生的步骤是什么?数据是从 SQL Sever 中的物理文件结构中检索的,我假设在返回给调用客户端时会发生某种流式传输?中间的步骤是什么?
现在让我们比较一下直接在服务器上调用这个视图与在某个地方调用某个远程客户端。数据如何返回到远程客户端?假设这是通过 ODBC,但 SQL Server 本身是否以相同的方式返回数据而不管传输方式?那么,它会检索结果,然后将这些结果传递给客户端,还是会通过传输机制以某种方式将这些结果流回?
我希望这是有道理的。提前感谢您的任何启发! :-)
【问题讨论】:
-
您的问题涉及很多领域。主要是数据返回客户端的方式根据您选择使用的游标而有所不同,但它也可以根据传输机制而改变。我不是这方面的专家,我知道两端都很好,但不是中间。我只知道它有效。 :)
-
引擎中有很多东西可以传递正确的数据,因为索引构建和分析到加载预编译的视图结构;你的问题可以从一些网络工程师那里得到一个很好的答案,它可以解释数据是如何传输的、本地和远程的、协议、层和模型。这真的很有趣,但有点复杂,因为它混合了不同的领域。
-
“从索引视图中选择数据以消除歧义” 我怀疑索引视图没有按照您的想法执行。
-
抱歉,这里提到的模棱两可部分只是为了给出一个明确的例子,而不是仅仅说我正在返回一些数据。
标签: sql-server database odbc