读书人

da.Fill(ds, startRecord, maxRecords

发布时间: 2012-03-30 17:32:09 作者: rapoo

da.Fill(ds, startRecord, maxRecords, "table"); 工作原理

C# code
 PrepareCommand(conn, cmd, cmdtype, strsql, parameters); OleDbDataAdapter da = new OleDbDataAdapter(); da.SelectCommand = cmd; DataSet ds = new DataSet(); try {     da.Fill(ds, startRecord, maxRecords, "table");     return ds; } catch (System.Data.OleDb.OleDbException e) {     throw e; } finally {     conn.Dispose(); }




问个问题:da.Fill(ds, startRecord, maxRecords, "table");


这一句实现分页查询表功能,但是我不了它的工作原理。

我的假想原理:
假设数据库中有500万条数据,传进来sql语句查询表中第400万-401万条数据,并进行排序,最后输出。
是不是系统在不停的操作着500万条数据,拍好序后,最后截取那1万条数据输出。
------会不会卡死了? 我所说的1万是比喻,也可以是取其中的两条数据。

[解决办法]
试试呗,这得看你机器和数据量还有网络传输情况,应该不会很慢的
[解决办法]
应该不会扫描500W次吧,应该对这个有优化的,比如到了满足条件的时候直接返回要查询的数据不再向下查询

读书人网 >asp.net

热点推荐