2011-11-07 68 views
1

我正在为使用SqlDataReader从SQL服务器检索数据的应用程序编写高性能数据检索/存储类。SQL Server数据格式

出于好奇,我想知道来自SQL服务器的数据来自何种形式。人物?二进制?其他形式?

不幸的是,我不能在我的办公室做任何包嗅探,这是我认为这个答案可以找到的一种方式。

编辑:这个问题的目的是确定从SQL服务器中检索数据的格式,以便尽可能少的操作,然后再将它放入数据结构中。

这个问题与a previous question of mine有关,我发现将数据格式转换为字符串之间的差异会对性能产生重大影响。

回答

3

格式记录在Tabular Data Stream Protocol Specification。话虽如此,协议和连线格式在很大程度上是无关紧要的,如果您检索的数据太多以至于传输速度很慢,那么您已经深陷错误的道路。

确保您的数据访问得到了优化,最重要的是您的数据模型设计良好,并且与预期的工作负载相匹配(换言之:覆盖关键查询的索引)。

如果检索(存储在数据库中如媒体文件)。大量的数据,然后有一些具体的方法来使用SqlCommand类,即SequentialAccess行为标志:

提供了一种方式DataReader处理包含具有较大二进制值的列 的行。而不是加载整个行,SequentialAccess使DataReader能够将数据加载为流。然后,您可以使用GetBytes或GetChars方法指定用于启动读取操作的位置的字节 ,并返回数据的有限缓冲区大小为 。

有关如何使用此功能的示例,请参阅Download and Upload images from SQL Server via ASP.Net MVC

+0

优秀信息,谢谢! – ChandlerPelhams