Friday, February 27, 2015

Regarding Network buffer and datareader data fetch c#


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



http://ift.tt/1wrv931
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



No comments:

Post a Comment