This topic has been archived. It cannot be replied.
-
工作学习 / IT技术讨论 / I'm using JSP.I have to display1000 employees by searching,and dipslay 10 on each page.anybody know to to write SQL,so I don't have to retrieve 1000 employees for each page
-cathy618(cathy);
2003-2-3
(#1018284@0)
-
select top 10 * from tablename;
-jqian(Q_Q);
2003-2-3
(#1018699@0)
-
先得说说你用的什么DB
-xanada(㊣流水);
2003-2-3
(#1018705@0)
-
那就别管什么database了,见#1018706
-jqian(Q_Q);
2003-2-3
(#1018710@0)
-
I'm using MS SQL server.but how can you get 2nd page?
-cathy618(cathy);
2003-2-3
(#1019190@0)
-
或者一次性全部读取,然后放到一个javabean中,每次拿10个出来。
-jqian(Q_Q);
2003-2-3
(#1018706@0)
-
if you read all of them at first time,the first retrieveing is slow.but I saw yahoo... every page have similar speed.
also,how do you keep the result in a bean,is it a stateful?
-cathy618(cathy);
2003-2-3
(#1018793@0)
-
javabean在jsp文件中申明时设为session范围的,然后该bean中的所有变量都可以在同一个用户session下被读取。我说的javabean不是指enterprise的,没有什么stateful、stateless之分。
-jqian(Q_Q);
2003-2-3
(#1018837@0)
-
放在session里是不是负担过大啊?1000条呢,要是10000条怎么办?
-xanada(㊣流水);
2003-2-3
(#1018953@0)
-
可以给表加一个增长序列号,然后根据序列号来计算出每次要显示的记录。比如下一条要显示记录号是130,显示10条,可以select top 10 * from MyTable where ID > 130 order by ID. 这种方式应该让ID有clustered index, 以保证性能
-miketany(MIKE老狼);
2003-2-3
(#1018919@0)
-
I was thinking this idea,but the result is depand on search criteria,let's say result is 1,2,3,30,32,40 then,there is nor record between 10 and 20,it display nothing on 2nd page and dispaly 3 record on 1st page,
-cathy618(cathy);
2003-2-3
(#1018996@0)
-
不会,比如一页显示两条记录,比如第一页显示1,2,那第二页条件>2 的top 2会是3,30,第三页条件>30,top 2,应该是32,40
-miketany(MIKE老狼);
2003-2-3
(#1019091@0)
-
如果按名字排序呢?ID是乱的。
-oxknife(闲人 LUCKY@2003);
2003-2-3
(#1019107@0)
-
所谓的这些1,2,3,30,32,40都是根据某个条件查询得到的结果,在查询之前根本不知道会是什么结果,你怎么用来放到where条件中?
-jqian(Q_Q);
2003-2-3
(#1019111@0)
-
在显示第一页时不需要where,在显示后面页时,where中的ID就是上一页的最后一个ID,怎么会不知道呢?是我没写清楚吗?
-miketany(MIKE老狼);
2003-2-3
(#1019155@0)
-
thank you.but if it need to be order by department,and 20 in dept1,20 in dept2,then1st page show 10 employee in dept1,but 10 more employee in dept1 never can be shown since where clause is department>'dept1'?
-cathy618(cathy);
2003-2-3
(#1019201@0)
-
这种查询在数据库较大时性能很成问题。其实这个问题并不复杂,如果性能不是问题,可以使用任意方法分页。
-miketany(MIKE老狼);
2003-2-3
(#1019160@0)
-
Sql Server Paging在MSDN上有一些文章,可以查查看。原来翻过一下。
-miketany(MIKE老狼);
2003-2-3
(#1019101@0)
-
waste of memory space. 100 sessions active means 100*1000 records in memory.
-jeffrey815(Smartiecat);
2003-2-3
(#1018896@0)
-
取10个和取1000个时间上没什么区别,而且Java application server比较慢,就该让DB server多干点。
-oxknife(闲人 LUCKY@2003);
2003-2-3
(#1018920@0)
-
数据有多少?从几百万条选出1000个和几万条选出1000个, 设计有很大不同; 这部分code的运行频率多高?几天一次和一分钟几次设计有很大不同;多速度要求多快?google的search和报表的显示设计有很大不同....
-decentboy(曾经的帝国骑士);
2003-2-3
(#1019017@0)