7

最近我一直喜欢在 Windows 上运行的 MySQL 中使用命名管道(选项 --enable-named-pipes),并通过 .NET 连接器驱动程序进行连接。出于安全目的,通常建议使用它,但它允许我做的一件事是连接“。” 作为连接字符串并在我的 PC 上开发并部署到服务器,而无需更改连接字符串(指向服务器主机而不是我自己的数据库副本)。

不仅如此,根据我的经验,我将一些加速归因于 TCP 的延迟优势。我在网上找到的一些参考资料表明:

我们使用命名管道成功地测试了 MySQL 5.0,而且速度提高了!这个大项目的 50% 首先,使用 MySQL
http://www.waltercedric.com/component/content/article/1217.html的最新 JConnector 驱动程序可能是个好主意

在简单的性能测试中,命名管道访问似乎比标准 TCP/IP 访问快 30%-50%。但是,这因系统而异,并且在许多 Windows 配置中,命名管道比 TCP/IP 慢。
http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html

但是在什么“配置”中它更慢?无论如何,我一直在假设 localhost 访问比 TCP 更快,但是,我还没有找到任何确定的东西。也许它也更特定于正在使用的特定驱动程序。

4

2 回答 2

3

尝试查看http://msdn.microsoft.com/en-us/library/aa178138(SQL.80).aspx

即使它谈到 MS SQL Server,在内核模式下运行的本地命名管道仍应适用

从上述链接:

澄清您是在谈论本地管道还是网络管道也很重要。如果服务器应用程序在运行 Microsoft® SQL Server™ 2000 实例的计算机上本地运行,则可以选择本地命名管道协议。本地命名管道在内核模式下运行并且速度非常快。

于 2009-05-08T03:37:43.680 回答
0

我做了一个快速测试——将一个数据库转储到一个文件中,然后在我的 XP 开发机器上重新导入它。没有显示差异 - 结果保持不变。

什么会影响命名管道变慢或变快?

谢谢

于 2009-06-06T00:24:55.180 回答