从PHP查询100万条记录到PHP中的数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从PHP查询100万条记录到PHP中的数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1632字,纯文字阅读大概需要3分钟。
内容图文
![从PHP查询100万条记录到PHP中的数组](/upload/InfoBanner/zyjiaocheng/788/5d9965105d89469991aa40bcc244fdc9.jpg)
我的最终目标是向Google Maps API发送300万条记录,以显示为标记,但在此之前…
我甚至无法在PHP数组中加载100万.每个元素的数据为18位,包含2列和100万行.
查询只是一个直接的SELECT *,但是当循环并在数组中存储正确的记录时,我的内存不足.我尝试过使用SplFixedArray,但也没有运气.
我需要找到一个好方法来批量处理并将其拆分 – 运行一些测试后,我可以将大约500k拉入数组而不会达到内存限制(已经是512M!),所以我可以在2或3个疑问?在页面加载之前我仍然需要在服务器端保存到阵列中的全部数据,并且我可以将它传递给Maps,所以我假设批处理它不能解决它,因为它仍然会在内存中?
编辑:有一个很大的评论链增长,但大多数人都同意这是一个坏主意由于某种原因.因此,我的解决方案是将其拉回到大约300k点,这可以通过更少的头部攻击来实现.
解决方法:
试图将数百万的地图标记输入谷歌地图确实没有任何意义.
从内存角度或性能角度来看,这是不可行的.只要考虑一下这些数据的大小 – 即使每个标记只是一个字节的数据,也就是3兆字节.但实际上,每个标记最少需要大约20个字节,仅用于co-ords和JSON标记,因此在你开始为每个标记添加描述之前需要60兆字节.您的系统无法以足够快的速度将其传输到Google,以使其在网络上可用.即使你可以,谷歌也不会接受你每次有人想要查看你的地图时向他们发送那种数据.
无论如何,地图上的所有标记都无法使用;他们会掩盖整个地图和彼此,只是搞得一团糟.
即使向Google发送几百张地图标记也会推动它.发送数百万美元是不会发生的.
那你能做什么呢?其他网站如何设法同时拥有数千万个标记?答案很简单 – 他们没有.它们仅向Google发送标记,用于显示正在显示的地图部分.
在更宽的缩放级别,您甚至不显示标记;你有一个预先渲染的热图,显示你的覆盖范围.在更接近的缩放级别,您只需加载正在显示的区域的地图引脚.移动地图后,您将加载更多.
我的意思是一个很好的例子是Xfinity wifi map.它们在地图上有数十万个点,但是从不加载超过几十个标记.快速且易于管理.
内容总结
以上是互联网集市为您收集整理的从PHP查询100万条记录到PHP中的数组全部内容,希望文章能够帮你解决从PHP查询100万条记录到PHP中的数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。