免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4498 | 回复: 13
打印 上一主题 下一主题

对于PHP来说,如果一个数组里面有2万个整数,那么会不会体积很大啊? [复制链接]

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-26 08:40 |只看该作者 |倒序浏览
本帖最后由 fender0107401 于 2013-04-26 08:43 编辑

我打算将每次从SQL里面查询处理的结果存在PHP的数组里面。

查询有点复杂,需要若干个条件,所以可能每一个查询就生成一个竖数组来存储一个record_id

比如说:

满足第一个查询条件的结果存在array_01里面,大概就是有5000条记录,当然全都是整数的id。

满足第二个查询条件的结果存在array_02里面,大概就是有8000条记录,当然全都是整数的id。

然后我使用array_intersec来得到所有的满足两个查询条件的交集。

这样做会不会很慢啊,不知道array_intersec是怎么实现的,实际当中这样做会不会有什么问题。

论坛徽章:
0
2 [报告]
发表于 2013-04-26 09:10 |只看该作者
2w算不上大

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
3 [报告]
发表于 2013-04-26 10:59 |只看该作者
我对脚本语言的计算能力总是有点怀疑。

论坛徽章:
4
技术图书徽章
日期:2013-09-23 10:22:37狮子座
日期:2013-10-15 23:31:54卯兔
日期:2013-11-11 17:33:15金牛座
日期:2013-11-15 17:25:28
4 [报告]
发表于 2013-04-26 16:19 |只看该作者
什么数据库阿,oracle本身就支持intersect了
如果数据库不支持intersect的话试试这个
假设你要取得t1.id跟t2.id,然后intersect

  1. select distinct id from t1 where id in (select id from t2);
复制代码

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
5 [报告]
发表于 2013-04-26 17:22 |只看该作者
回复 4# nbrr

mysql

不打算用你说的那个方法,因为我可能需要若干个查询条件,用子查询似乎不怎么灵活。


   

论坛徽章:
0
6 [报告]
发表于 2013-04-27 12:00 |只看该作者
ini_set('memory_limit', 足够的大)
不然使用内存太多,php会挂

论坛徽章:
0
7 [报告]
发表于 2013-04-27 18:17 |只看该作者
没试过,,就看看,

论坛徽章:
0
8 [报告]
发表于 2013-05-03 12:53 |只看该作者
小心内存溢出

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2013-05-05 23:24 |只看该作者
  1. 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

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
10 [报告]
发表于 2013-05-06 08:20 |只看该作者
回复 9# HonestQiao




   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP