关于翻页,jsp页面中想把记录一次性全部加载到内存中,然后从内存中取!

jsidiot 2004-03-23 10:51:26
有人提示我用静态变量
但是如果我的jsp页面关闭了之后,那么这个静态变量为自动清空嘛?
因为查询条件不同,可能记录集也不同,会不会导致静态变量不变那?
请教
...全文
87 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlb0354 2004-07-09
  • 打赏
  • 举报
回复
自己写一个数据结构记下来不就行了.二维的动态数据结构用来记录数据集.
pxboy 2004-03-23
  • 打赏
  • 举报
回复
就事论事,俺不管保存在内存中是否合理,分页有许多实现方法,
如果要保存数据在WEB容器中,可以用ServletContext,
取得这个对象:
在你的Servlet中:
public void init(ServletConfig config) throws ServletException
{
ServletContext sc = config.getServletContext();
sc.setAttribute("DATA", 数据对象);
}
emate 2004-03-23
  • 打赏
  • 举报
回复
如果就1k多记录,而且建立数据库连接慢地话,不如自己写进文件,再自己读取的好 ^_^
yeno 2004-03-23
  • 打赏
  • 举报
回复
用多维数组,数组是直接在内存中操作的,当然耗系统资源是再所难免的了
C语言中可以直接用枚举型变量建立一个简单的数据库皱型,同理我们用多维数组也可以存取数据库中的数据
emate 2004-03-23
  • 打赏
  • 举报
回复
最近用了连接池后,感觉效能提高n多, 深切体会到一个科学的构架是多么的重要啊!
emate 2004-03-23
  • 打赏
  • 举报
回复
我感觉这种想法是不科学的,就算实现了,也只是养成坏的习惯^_^
emate 2004-03-23
  • 打赏
  • 举报
回复
是仅仅建立慢的话,直接在中间加个连接池就ok那,你用什么web service的?
jsidiot 2004-03-23
  • 打赏
  • 举报
回复
没有
只有一千条左右的记录
而且主要是建立数据链接的速度慢
放在ServletContext中?
可以具体说一下嘛?
emate 2004-03-23
  • 打赏
  • 举报
回复
这个方案不可行, 建议放弃 ^_^

当你查到几百万的记录都要放到内存的话,后果是灾难性的

现在成熟的分页方法对于几百万数据的显示还是蛮快的,不知道你为什么要做这样的尝试?

steven_cheng 2004-03-23
  • 打赏
  • 举报
回复
全部放在内存中??你要是有100万记录也打算全部放在内存中?!!
pxboy 2004-03-23
  • 打赏
  • 举报
回复
保存在ServletContext中,
只有加了final的才不可以改
likecoco99 2004-03-23
  • 打赏
  • 举报
回复
学习
jsidiot 2004-03-23
  • 打赏
  • 举报
回复
好像有点差异
不同的 用户应该记录集不同的
jsidiot 2004-03-23
  • 打赏
  • 举报
回复
另外.我们现在用的也是链接池,webservice是weblogic
不过是要取不同的dblink里面的数据就速度就慢了
pxboy 2004-03-23
  • 打赏
  • 举报
回复
TO楼上:
保存在ServletContext中的数据对全局有效,每个用户都是用的同一个ServletContext
凋零的老树 2004-03-23
  • 打赏
  • 举报
回复
如果有好几个人同时查询你的内存的危险了
jsidiot 2004-03-23
  • 打赏
  • 举报
回复
呵呵,谢谢emate(化石)的回复
只是这么做有两个原因
1.领导要求
2.数据集只有1k多条
3.使用oracle的rownum的时候,因为sql中含有四个子查询,查询的速度很慢,而且在翻页的时候也是同样的速度,所以现在改用一次导入数据

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧