我正在为我的应用程序编写一个高性能的数据检索/存储类,它使用SqlDataReader从SQL服务器检索数据。
出于好奇,我想知道来自SQL服务器的数据是什么形式的。字符?二进制?其他形式吗?
不幸的是,我不能在我的办公室做任何数据包嗅探,这是我认为可以找到这个答案的一种方法。
编辑:这个问题的目的是确定从SQL server检索数据的格式,以便在将数据放入数据结构之前允许尽可能少的操作。
这个问题与我之前的一个问题有关,我发现将数据格式转换为字符串之间的差异会对性能产生重大影响。
格式在表格数据流协议规范中记录。话虽如此,协议和传输格式在很大程度上是无关紧要的,如果您检索的数据太多,以至于传输速度太快,那么您已经走错了路。
确保您的数据访问是优化的,最重要的是,您的数据模型设计良好,并且匹配预期的工作负载(换句话说:为关键查询提供覆盖索引)。
如果您检索大块数据(例如:然后有一些特定的方法来使用SqlCommand
类,即SequentialAccess
行为标志:
为DataReader提供一种方法来处理包含列的行具有大的二进制值。而不是加载整个行,SequentialAccess允许DataReader以流的形式加载数据。你然后可以使用GetBytes或GetChars方法来指定一个字节开始读操作的位置,以及用于的有限缓冲区大小返回的数据
有关如何使用此功能的示例,请参见通过ASP从SQL Server下载和上传图像。净MVC。