在页面上直接建GRID,直接用SQL取数据,比较不同的SQL的反应时间。这个页面上的GRID是分页显示的,每个页面是12行,查询方法是:
数据库存取时间比较   DateTime date1 = DateTime.Now;
数据库存取时间比较   DataTable dt 
= Query.ProcessSql("SQL语句","mes");
数据库存取时间比较   IMesGrid1.DataSource 
= dt;
数据库存取时间比较   IMesGrid1.DataBind();
数据库存取时间比较   DateTime date2 
= DateTime.Now;
数据库存取时间比较   Response.Write(date2
-date1);
数据库存取时间比较   Response.Write(
"<br>" + date1 + "<br>" + date2);

表R_WIP_TRACKING_T是一个有967619条记录的大表
1. SQL语句是:
 
数据库存取时间比较select sn from rmes.r_wip_tracking_t
数据库存取时间比较
反应时间:2005-4-4 12:09:36
                2005-4-4 12:10:05
2. SQL语句是:
数据库存取时间比较select sn from ( 
数据库存取时间比较     
select sn, rownum rownum_ from rmes.r_wip_tracking_t
数据库存取时间比较     
where rownum <= 48
数据库存取时间比较
where rownum_ > 36
反应时间:00:00:00.6250000
2005-4-4 12:13:35
2005-4-4 12:13:35
3. SQL语句是: 
数据库存取时间比较select sn from ( select sn, rownum rownum_ from rmes.r_wip_tracking_t  where rownum <= 900012 ) where rownum_ > 900000

反应时间:00:00:04.5468750
2005-4-4 12:15:13
2005-4-4 12:15:18

总结:查询大表时应该把页号传入SQL,在数据库级进行分页

相关文章: