php数据优化

Array
(
    [0] => Array
        (
            [id] => 19
            [receive_id] => 41
            [mac] => a4:3d:78:fc:49:50
            [staytime] => 400
        )

    [1] => Array
        (
            [id] => 20
            [receive_id] => 42
            [mac] => a4:3d:78:fc:49:51
            [staytime] => 200
        )

    [2] => Array
        (
            [id] => 22
            [receive_id] => 42
            [mac] => a4:3d:78:fc:49:50
            [staytime] => 2443
        )

    [3] => Array
        (
            [id] => 23
            [receive_id] => 42
            [mac] => a4:3d:78:fc:49:50
            [staytime] => 1443
        )

    [4] => Array
        (
            [id] => 24
            [receive_id] => 42
            [mac] => a4:3d:78:fc:49:51
            [staytime] => 1143
        )

    [5] => Array
        (
            [id] => 25
            [receive_id] => 42
            [mac] => a4:3d:78:fc:49:51
            [staytime] => 543
        )

)举例将以上数组按mac区分成
Array
(
    [a4:3d:78:fc:49:50] => Array
        (
            [id] => 19
            [receive_id] => 41
            [mac] => a4:3d:78:fc:49:50
            [staytime] => 400
            [timmarr] => Array
                (
                    [0] => Array
                        (
                            [id] => 19
                            [receive_id] => 41
                            [mac] => a4:3d:78:fc:49:50
                            [staytime] => 400
                        )

                    [1] => Array
                        (
                            [id] => 22
                            [receive_id] => 42
                            [mac] => a4:3d:78:fc:49:50
                            [staytime] => 2443
                        )

                    [2] => Array
                        (
                            [id] => 23
                            [receive_id] => 42
                            [mac] => a4:3d:78:fc:49:50
                            [staytime] => 1443
                        )

                )

        )

    [a4:3d:78:fc:49:51] => Array
        (
            [id] => 20
            [receive_id] => 42
            [mac] => a4:3d:78:fc:49:51
            [staytime] => 200
            [timmarr] => Array
                (
                    [0] => Array
                        (
                            [id] => 20
                            [receive_id] => 42
                            [mac] => a4:3d:78:fc:49:51
                            [staytime] => 200
                        )

                    [1] => Array
                        (
                            [id] => 24
                            [receive_id] => 42
                            [mac] => a4:3d:78:fc:49:51
                            [staytime] => 1143
                        )

                    [2] => Array
                        (
                            [id] => 25
                            [receive_id] => 42
                            [mac] => a4:3d:78:fc:49:51
                            [staytime] => 543
                        )

                )

        )

)----------------------php代码:
$macArr =   [];$macUserArr =    [];
for($i=0;$i<$countList;$i++){    if(!in_array($list[$i][‘mac‘],$macArr)){        $macArr[]   =   $list[$i][‘mac‘];        $macUserArr[$list[$i][‘mac‘]] =   $list[$i];        $macUserArr[$list[$i][‘mac‘]][‘timmarr‘][]  = $list[$i];    }else{        $macUserArr[$list[$i][‘mac‘]][‘timmarr‘][]  =   $list[$i];    }}少循环次数
时间: 2024-08-27 12:03:16

php数据优化的相关文章

MySQL两千万数据优化&amp;迁移

最近有一张2000W条记录的数据表需要优化和迁移.2000W数据对于MySQL来说很尴尬,因为合理的创建索引速度还是挺快的,再怎么优化速度也得不到多大提升.不过这些数据有大量的冗余字段和错误信息,极不方便做统计和分析.所以我需要创建一张新表,把旧表中的数据一条一条取出来优化后放回新表: 一. 清除冗余数据,优化字段结构 2000W数据中,能作为查询条件的字段我们是预知的.所以将这部分数据单独创建新的字段,对于有规则的数据合理改变字段结构,比如身份证就是varchar(18).对于不重要的数据我们

全闪存阵列为大数据优化

为了更好地支持大数据应用,富士通推出了针对大数据进行优化的全闪存阵列和大数据一体机,在保证整个系统高性能和高可靠的前提下,进一步提升了数据处理和分析的效率. 大数据是继云计算之后又一项将改变传统商业模式和IT应用方式的重要变革.从存储的角度看,富士通正逐渐将产品的重点向大数据倾斜,近日推出了最新的全闪存阵列ETERNUS DX200F和面向大数据的一体机MHA. 全闪存阵列ETERNUS DX200F是一款面向中小企业用户的入门级存储产品.虽然是一款入门级的产品,但是ETERNUS DX200F

.net导入Oracle数据优化小记

.net导入Oracle数据优化小记 工作中遇到一个项目需要每次部署时导入Oracle数据库约4万条数据,原计划使用dmp格式导入,但是这种方式需要依赖数据库的imp.exe文件,环境影响度比较大,于是决定使用Excel进行导入.最初使用Excel导入时每次平均耗时7分钟,不符合项目要求,经过优化后导入时间缩短到30秒左右.以下为本次优化研究的优化小记,希望在以后遇到此类问题时有所帮助.欢迎各位大神评论指教! 一.数据环境 数据库版本为Oracle11g,导入数据涉及数据库中18张表,约4万条数

MySQL大数据优化以及分解(下篇)

http://xiaorenwutest.blog.51cto.com MySQL大数据优化以及分解(下篇) 前言:在上一章的内容当中说过公司中的数据过大或者访问量过多都会导致数据库的性能降低,过多的损耗磁盘i/o和其他服务器的性能,严重会导致宕机.根据这种情况我们给出了解决方法,那么接下来我们继续: 上次说到了分表和分区:首先让我们回顾下分表和分区的区别: 分表: 将一个大表分解成若干个小表,每个小表都有独立的文件.MYD/.MYI/.frm三个文件 分区: 将存放数据的数据块变多了,表还是一

Android性能优化 一 数据优化

在上一篇博客中,我和大家一起探讨了在Android中对SQLite数据库的操作优化细节.还没有看的点击这里: Android性能优化-布局优化 今天,继续Android性能优化 一 编码细节优化. 编码细节,对于程序的运行效率也是有很多的影响的.今天这篇主题由于技术能力有限,所以也不敢在深层去和大家分享.我将这篇主题分为以下几个小节: (1)缓存 (2)数据 (3)延迟加载和优先加载 1> 缓存 在Android中缓存可以用在很多的地方:对象.IO.网络.DB等等..对象缓存能减少内存分配,IO

读薄《高性能MySql》(二)Schem与数据优化

读薄<高性能MySql>(一)MySql基本知识 读薄<高性能MySql>(二)Schem与数据优化 选择更优的数据类型 当我们设计数据类型的时候应该选择最优的数据类型,因为好的数据类型会使数据库性能提升很多,特别是在使用 ORM 的时候要尤其消息,因为需求的复杂性,ORM 基本上没什么可能会生成最优的类型. 接下来介绍一些通用的数据类型结构. 更小的通常更好 一般情况下,应该尽量使用存储数据最小的数据单类型 尽量使用自带的数据类型 比如保存日期最好用 mysql 内有的日期类型而

sql修改字段名称,增加字段,更改类型,删除字段 和数据优化

一.exec sp_rename 'student.name','names' --修改表字段名称 alter table student alter column courseid int--修改表的字段类型 alter table student add age int --z增加字段 alter table student drop column age--删除字段 二.exitst的用法 select * from 表A where exists(select * from 表B whe

数据库数据优化故事多

基础调用评教系统接口,在运行程序时 我们看到IIS的进程居高不下. 于是想了几个方法进行数据库的而优化尝试. 第一 加索引. 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息.索引对于数据库来说 就像目录和整本书的关系一样.有了数据库索引,我们就可以先查找目录,然后快速的找到我们想要查询的字段.如果想按特定学生的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息. 优点: 创建索引可以大大提高系统的性能.第一,通过创建唯一性索引,可以保

SQL 数据优化索引建suo避免全表扫描

首先什么是全表扫描和索引扫描?全表扫描所有数据过一遍才能显示数据结果,索引扫描就是索引,只需要扫描一部分数据就可以得到结果.如果数据没建立索引. 无索引的情况下搜索数据的速度和占用内存就会比用索引的检索慢和高.下面是一个例子 1:无索引的情况 Product表,里面没有任何索引,如下图: 从上图中,我悲剧的看到了,物理读是9次,也就说明走了9次硬盘,你也可以想到,走硬盘的目的是为了拿数据,逻辑读有1636次,要注意的是这里 的”次“是“页”的意思,也就是在内存中走了1636个数据页,我用dbcc

mysql数据优化方式

1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小. 例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了.同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段. 另外一个提高效率的方法