tri_inn

tri_inn

  • NA
  • 1.2k
  • 233.6k

Regarding Network buffer and datareader data fetch c#

Feb 26 2015 8:00 AM

i read many write up like how data reader fetch data. here are few links

http://stackoverflow.com/questions/1696128/sqldatareader-a-firehose-cursor-no-buffering?lq=1 
http
://stackoverflow.com/questions/23467482/how-does-sqldatareader-handle-really-large-queries?lq=1
http
://stackoverflow.com/questions/1383920/how-datareader-works
http
://stackoverflow.com/questions/22554158/how-much-data-can-be-stored-in-network-buffer-when-datareader-is-used

people are saying that data reader fetch data in chunk and store in network buffer and display from there. when all data read completed from buffer then again database round trip occur. that why people say data reader is efficient for data reading purpose because it minimize the db round trip but still many things are not clear to me

suppose i issue a sql query like Select empid,Name from employee table there are 10,000 rows then what will happen. how much data sql server will send to client?

suppose network buffer could store 8kb data then sql server may send more than 8kb data or sql server know the client pc network buffer size in advance?

suppose first 100 data is stored in network buffer so when again db trip will occur for next 100 data then same query will executed so how sql server will know that that time sql server has to send data from 101 to 200 etc?

i like to know the above internal process in details regarding interaction between sql server and data reader. so please share the know if some one knows it in details.

one bit different question. how we can determine each row size in byte or kb programmatically by c#. if possible give me direction with sample code. thanks


Answers (1)