微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP-将迭代算法应用于数据库中的一组行

对于某些人来说,这个问题似乎太基本了,但是请忍受,因为我处理过不错的数据库编程已经有一段时间了.

我有一个算法,需要在PHP / MysqL中编程才能在网站上工作.它对对象数组进行迭代计算(根据对象的属性对对象进行排名).在每次迭代中,算法都会遍历所有集合两次,从整个集合的不同位置访问各种数据.该算法需要数百次迭代才能完成.该阵列来自数据库.

我看到的直接解决方案是获取数据库查询的结果,并为查询的每一行创建一个对象,将对象放入数组,然后将该数组传递给我的算法.

但是,当我不得不处理几千个项目的数组时,我担心这种解决方案的有效性,因为我所做的本质上是将查询结果镜像到内存中.

另一方面,在算法的每次迭代中使数据库查询几次也似乎是错误的.

所以,我的问题是-对于这样的问题,正确的架构解决方案是什么?将查询结果镜像到内存是否可以?如果不是,那么在这种算法中处理查询结果的最佳方法是什么?

谢谢!

更新:我能想到的最接近的问题是搜索引擎对搜索结果的排名-我需要做类似的事情.每个结果都表示为数据库的一行,并且在计算排名时会考虑该集合的所有结果.

解决方法:

记忆似乎是最好的方式-如果您可以扩展内存以满足需求.否则,您将不得不修改算法,以使用分而治之的方法-做类似合并排序的操作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐