微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server-2008 – 从SQL Server检索的数据是否被压缩传输?

从Microsoft sql Server检索的数据是否已压缩?如果这是由连接字符串控制的,有没有简单的方法来判断任何特定的应用程序是否正在使用它?

我正在研究分析工具,数据量可能需要几分钟才能通过我们的网络传输.我想知道如果我们从同一个远程服务器上的压缩数据存储中提取数据,我是否应该期望性能提升.

只要我们谈论这个主题,我很好奇:数据是以二进制还是ASCII传输的?例如,如果从INT列查询值12345,它是作为五个字节0x31,0x32,0x33,0x34,0x35传输的;值所需的两个字节;或列所需的四个字节?

为了清楚起见,我理解有关于使用压缩存储数据和备份数据的选项.我在问数据是如何传输的.

解决方法

您要压缩的数据是通过 TDS通过线路发送的数据.此处有一些小的压缩,但远不及您使用页面/行压缩,备份压缩或ColumnStore压缩获得的压缩类型.

之前有人要求:

http://connect.microsoft.com/SQLServer/feedback/details/412131/enable-network-compression-compress-tds-stream

http://connect.microsoft.com/SQLServer/feedback/details/377479/wan-compression-option

这些物品仍然是开放的,所以也许有一些希望.没有办法通过我见过的连接字符串来控制它.

与此同时,有些产品声称这样做,例如:

http://www.nitrosphere.com/products/nitroaccelerator/

http://toonel.net/tcpany.htm

您还可以在sql Server和应用程序服务器之间配置网络以支持压缩(以及加密等其他操作),但是您的范围超出了我的范围,我不确定sql的每个功能是否都支持这种功能服务器.

说实话,我不相信这是你想要专注于优化的地方.压缩此流可能实际上减慢了速度并超过了发送更少字节的好处.我宁愿把钱花在服务器和客户端之间更好的网络连接上,而不是花时间投资这类工作并测试它是否有任何实际好处 – 而且直到之后才能做到这一点.从10/100到gig光纤对网络I / O具有已知且可预测的影响.

我不确定通过线路发送的字节的格式;你必须为此设置某种数据包嗅探器(或者某人已经这样做了,并且会插入).

至于压缩的影响,除非您使用的是Fusion-IO或其他高端SSD类型的解决方案,否则您几乎肯定会受到当前的I / O限制,而不受cpu限制.因此,只要您有cpu开销,就应该在启用压缩的情况下看到更快的性能(但这不会改变网络性能,因为数据在传输之前是未压缩的).我说对您的服务器,应用程序,数据或使用模式一无所知 – 您可能会遇到压缩实际会损害性能的边缘情况,或者数据不适合良好压缩比的情况.

原文地址:https://www.jb51.cc/mssql/79786.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐