SQL Server数据格式

时间:2011-11-07 16:40:30

标签: sql-server sqldatareader

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

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

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

编辑:此问题的目的是确定从SQL服务器检索数据的格式,以便在将其放入数据结构之前尽可能少地进行操作。

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

1 个答案:

答案 0 :(得分:3)

格式记录在Tabular Data Stream Protocol Specification。话虽这么说,协议和有线格式在很大程度上是无关紧要的,如果你检索到如此多的数据,转移到物质的速度,你已经在错误的道路上。

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

如果您检索大块数据(例如,存储在数据库中的媒体文件),则有一些特定方法可以使用SqlCommand类,即SequentialAccess行为标记:

  

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

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