作者okdla (跟着乡民进来看热闹)
看板PHP
标题[请益] mssql_query的问题
时间Sun Mar 16 14:37:36 2008
不知道有人遇过这个问题吗???
我用mssql_query撷取3万笔资料结果当掉了
出现allowed memory size of xxx bytes...
我上google去找解决的方法...发现可以用ini_set("memory_lmit",xx)
来解决,於是我把我的memory_limit一直加大到500M,终於解决了
可是因为资料笔数会一直增加,所以以後查询的时候一定又会爆记忆体
那我就必须一直增加memory_limit,可是主机的记忆体大小只有1G,电脑上的
分页记忆大小也才500M,这样会对主机有什麽不好的影响吗???
再来就是,mssql并不像mysql有limit 的功能,虽然有top 但是却不是很好用
所以在撷取资料的时候没有办法分页的撷取....只能一次把全部的资料取出来
然後再用mssql_data_seek去做分页..可是一但资料笔数很多再加上查询的栏位很多..
就会如同上述一样出现当掉的讯息...不知道有没有什麽方法能够解决呢???
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.230.172.138
1F:推 yukang:为什麽要一次抓三万笔出来呢?不能 用 limit 先列10笔嘛? 03/16 15:00
2F:→ okdla:mssql没有limit... 03/16 15:03
3F:→ arianda:mssql 有类似的吧? SELECT Top * n ? 03/16 15:23
4F:→ okdla:有top 没错..但是只能取前几笔的资料....有人用top做分页的 03/16 15:29
5F:→ okdla:的吗??可以说一下怎麽做???top好像一定要和order一起用才可 03/16 15:30
6F:→ okdla:以做分页.可是在mssql如果对3万笔资料下order指令,不是会很 03/16 15:31
7F:→ okdla:慢吗?? 03/16 15:32
8F:→ lslong:你之前的作法已经ok了..会慢的原因请检查一下index有没有 03/17 15:51