代码之家  ›  专栏  ›  技术社区  ›  Aidan Ryan

最快的SQL Server协议?

  •  10
  • Aidan Ryan  · 技术社区  · 15 年前

    最快的SQL Server连接协议是什么?

    相关:哪些协议是远程和本地可用的,这会影响最快协议的选择吗?

    4 回复  |  直到 12 年前
        1
  •  15
  •   Nick Albrecht    12 年前

    通孔 . 这是最快的SQL协议,它在专用硬件上运行,并用于执行SQL Server基准记录。

    请注意,VIA协议已弃用 由Microsoft删除,并将在 Microsoft SQL Server的未来版本。 但是,它在SQL Server 2008中受支持, SQL Server 2008 R2和SQL Server 2012。

    共享内存 其次是性能,但它只能在客户机和实际可以共享内存的服务器之间工作,所以只能在本地工作。

    对于普通硬件上的远程连接, 传输控制协议 是前进的道路。在正常操作下,它具有与命名管道相同的性能。在慢或忙的网络上,它在健壮性和速度方面优于NP,事实上 documented in MSDN :

    用于命名管道、网络 通信通常更多 互动式。对等端不发送数据 直到另一个同伴用 读取命令。典型的网络读取 涉及一系列PEEK命名管道 在它开始阅读之前的消息 数据。这些可能是非常昂贵的 网络速度慢,导致过度 网络流量,反过来影响 其他网络客户端。

    命名管道还可能导致客户端连接超时:

    TCP/IP套接字还支持积压工作 排队。这可以提供有限的 平滑效果与命名 可能导致管道繁忙的管道 尝试连接时出错 到SQLServer。

    不幸的是,正常的客户机配置首先尝试NP,这可能会导致连接问题(由于上面提到的原因),在客户机网络配置(或在连接字符串中,通过 tcp:servername )跳过NP连接尝试,直接转到TCP,以便在加载时获得更好的体验。

    现在是真的,我在上面引用的同一个链接继续赞扬NP的易于配置,最有可能是指不需要在防火墙中打开SQL TCP端口,但在那里我和BOL有不同的观点。

        2
  •  7
  •   MatthewMartin muthu    15 年前

    Shared memory is fastest for local (客户机和服务器在同一台计算机上)。命名管道可能是当地的第二个紧固件。对于远程来说,每个人都在使用TCP-IP,而剩下的协议也有点变成了网络历史。

        3
  •  0
  •   joe    15 年前

    Using Shared Memory Protocol

    安装SQL Server时选择的网络库可能会影响服务器与其客户端之间的通信速度。在三个关键的网络库中,TCP/IP是最快的,而多协议是最慢的。由于速度优势,您将希望在服务器和客户机上使用TCP/IP。另外,不要在服务器上安装未使用的网络库,因为它们只会造成不必要的开销**

        4
  •  0
  •   Hector Sosa Jr    15 年前

    命名管道是最快的SQL Server协议。