对于PHP来说,如果一个数组里面有2万个整数,那么会不会体积很大啊?
本帖最后由 fender0107401 于 2013-04-26 08:43 编辑我打算将每次从SQL里面查询处理的结果存在PHP的数组里面。
查询有点复杂,需要若干个条件,所以可能每一个查询就生成一个竖数组来存储一个record_id
比如说:
满足第一个查询条件的结果存在array_01里面,大概就是有5000条记录,当然全都是整数的id。
满足第二个查询条件的结果存在array_02里面,大概就是有8000条记录,当然全都是整数的id。
然后我使用array_intersec来得到所有的满足两个查询条件的交集。
这样做会不会很慢啊,不知道array_intersec是怎么实现的,实际当中这样做会不会有什么问题。 2w算不上大 我对脚本语言的计算能力总是有点怀疑。 什么数据库阿,oracle本身就支持intersect了
如果数据库不支持intersect的话试试这个
假设你要取得t1.id跟t2.id,然后intersect
select distinct id from t1 where id in (select id from t2);
回复 4# nbrr
mysql
不打算用你说的那个方法,因为我可能需要若干个查询条件,用子查询似乎不怎么灵活。
ini_set('memory_limit', 足够的大)
不然使用内存太多,php会挂 没试过,,就看看, 小心内存溢出 php -n -r '$ary=array();for($i=0;$i<20000;$i++){$ary[] = rand(0,PHP_INT_MAX);}print_r($ary);printf("\nmax memory used: %0.2fM\n",memory_get_peak_usage()/1024/1024);'max memory used: 4.70M 回复 9# HonestQiao
:mrgreen:
页:
[1]
2