利用session传递海量数据时的问题,高手帮忙!

haojiubujian 2005-09-12 04:24:09
对一个表有几百万条数据的规模,查询结果利用session存储,实现分页显示时,一万多条select结果还可以承受,但上到大几万条时,好像session变量就丢失了!点下一页都是空的,但总页数显示是正确的。对于这种海量数据的处理怎么解决啊?
我目前是用数据库存储session变量,是不是每次打开一个IE,就分配一个sessionID,且只占用一个数据库元组。会不会因为一次查询结果太多,导致所有变量都存在一个元组里,超出数据库承受能力?
高手help!
...全文
202 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zairwolfo 2005-09-12
  • 打赏
  • 举报
回复
同意楼上。楼主方法不可取,简直就像用内存装操作系统一样。

你那样非得拖死服务器不幸。
ashchen 2005-09-12
  • 打赏
  • 举报
回复
session也就传个ID什么的,竟然传几万条记录的表,彻底晕了。

pg的分页不算难,另外pg有很多增强功能,例如视图什么的..
xinxin1982 2005-09-12
  • 打赏
  • 举报
回复
呵呵,你要真想用session,就把session该城内存模式,然后多买些内存,嘿嘿(死机表找我)
phphp 2005-09-12
  • 打赏
  • 举报
回复
session还有大小的.不是想方多少就放多少
aiiiq 2005-09-12
  • 打赏
  • 举报
回复
Meteorlet(www.dictworld.com)

你的猜字挺好玩的,能不能简单一点啊,就猜对一个单词member,呵呵
doctor2004 2005-09-12
  • 打赏
  • 举报
回复
不用sessions其实也可以!
把查询结果赋给$result变量(实际上只是个指针,查询结果数据库会自己在硬盘上分配一个临时表存储的)后,在页面间就传递这个变量及页码,其他的就是简单的for循环了!
这种方法数据库仅用查询一次!而offset需要每个页面重新查一次,效率很低!
karl 2005-09-12
  • 打赏
  • 举报
回复
索引,limit
yunfeifan 2005-09-12
  • 打赏
  • 举报
回复
只要你的session 没有失效,就是同一个session 吧,不过对于用户数量一多,就有问题了
几百万条数据?

还是建索引吧。
Meteorlet 2005-09-12
  • 打赏
  • 举报
回复
几万条纪录怎么可能想到用session保存的?
pgsql里有limit用来限制条数,offset来指定偏移量
第一页 limit 20 offset 0
第二页 limit 20 offset 20
...
haojiubujian 2005-09-12
  • 打赏
  • 举报
回复
那在分页显示时,一次显示20条信息怎么做到呢?我用的是pgsql数据库!有代码的例子吗?
xuzuning 2005-09-12
  • 打赏
  • 举报
回复
1、几万条记录要占用好几兆的内存的,php默认配置时最大使用8M内存,应该的内存用尽加载失败了
2、你的这个做法并不可取,看一个简单的事实:当若干个用户同时做同样的查询,你就得将查询结果存储若干份。这是完全没有必要的,况且存储几万条记录的开销并不一定就比直接查询来的快

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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