|
如何使用代码实现php的页面刷新
我的应用是 循环 多次从数据库员源头表里取 数据插入到另外几个表中 。(php5+mssql2005 使用 mssql_connect方式)。 现在发现问题, 源头表在400条 纪录下是没有任何问题,但是 当 大于 455条以上,后面的纪录不能从源头表取 出来。
我现在的办法是将sql语句 用for循环分成若干个。select * from table where id<=400,select * from table where id〉400 and id<=800等等。
但是发现每次他只能做到455条记录的时候就不动 (网页进度条显示很缓慢最后丢失纪录)。
请注意,这些软干个sql语句单独1各个的做 是没有问题的,说明数据是没有问题的。问是否是php的内存限制(我的大表很复杂,400个字段全部text类型,中间用临时表,每个字段取 值用 字段在表里的序号取的 )
UID58085 帖子6 精华0 积分8 开源币22 阅读权限10 在线时间2 小时 注册时间2008-2-4 最后登录2008-2-15 查看详细资料
编辑 引用 使用道具 报告 回复 TOP
kxing
小象
个人空间 发短消息 加为好友 当前在线 2# 大 中 小 发表于 2008-2-15 14:19 只看该作者
PHP的一些函数是有内存限制的问题。可以考虑将配置文件中的memory_limit改大。
读取数据库的操作和任何数组操作应该是不存在这个问题的,都是可以正常释放内存的。
可能存在内存问题的应该是你读入数据后处理数据时使用的个别函数可能存在这些问题,如PHP5引入的内置JSON函数。
UID15544 帖子8 精华0 积分16 开源币20 阅读权限10 在线时间4 小时 注册时间2006-12-14 最后登录2008-2-15 查看详细资料
引用 使用道具 报告 回复 TOP
kxing
小象
个人空间 发短消息 加为好友 当前在线 3# 大 中 小 发表于 2008-2-15 14:23 只看该作者
我是在LINUX下开发的,遇到这种请况的时候是用的SHELL脚本分别起几个PHP进程跑不同的段的数据,这样的话每个进程使用不同的内存空间,就不会出现这种问题了。
你在WINDOW$下进行数据处理也可以考虑使用脚本控制,如PERL。用PHP做控制脚本是肯定不行(尝试过),因为那样的话又是使用同一个内存空间了。
PS:数据处理的操作最好也不要通过浏览器操作。
UID15544 帖子8 精华0 积分16 开源币20 阅读权限10 在线时间4 小时 注册时间2006-12-14 最后登录2008-2-15 查看详细资料
引用 使用道具 报告 回复 TOP
liyihongcug
小象
个人空间 发短消息 加为好友 当前离线 4# 大 中 小 发表于 2008-2-15 14:36 只看该作者
同感
我是这种 情况
把数据 表 分成 2部分作 是 1点问题都没有
但是 一起做 ie不停的等
导致最后数据丢失
后来我把整个表分页 解决这个问题
UID58085 帖子6 精华0 积分8 开源币22 阅读权限10 在线时间2 小时 注册时间2008-2-4 最后登录2008-2-15 查看详细资料
编辑 引用 使用道具 报告 回复 TOP
kxing
小象
个人空间 发短消息 加为好友 当前在线 5# 大 中 小 发表于 2008-2-15 14:46 只看该作者
不建议用浏览器来调度数据处理的操作。。。
UID15544 帖子8 精华0 积分16 开源币20 阅读权限10 在线时间4 小时 注册时间2006-12-14 最后登录2008-2-15 查看详细资料
引用 使用道具 报告 回复 TOP
liyihongcug
小象
个人空间 发短消息 加为好友 当前离线 6# 大 中 小 发表于 2008-2-15 14:54 只看该作者
代码非常 复杂
如果用perl改写工作量很大
|