经常使用SqlDataAdapter,但从没有关注SqlDataAdapter重载函数应用,今天听同事说
SqlDataAdapter(DataSet dataSet, int startRecord, int maxRecords, string srcTable)分页效率很高(一直使用网友AspNetPage分页控件,于是简单做了一个测试:
前台只放一个GridView:
后台代码:
分析 sda.Fill(ds, startRecord, maxRecords, "Invoices");
只是startRecord从其开始的从某某记录号,maxRecords要检索的最大记录数。比如数据刚加载时,假设100W行数据,
每页为20记录,则第一次加载(第一页),则是1-20条记录填充到DataSet并呈现在UI上,从这看效率好像有了提高,但
从SQL角度上还是执行整个SQL,数据库还是检查整个表的数据,可以想到效率并不能得到很大的提高,若是过程则不一样,可以从过程只检查出某些数据进行显示。