大佬们, PHP 除了遍历以外,怎么用算法比较快的输出符合一个已经排序好的符合一个范围内的数组

2021-09-16 15:39:21 +08:00
 zhengfan2016

如题,萌新全干实习生。有一个查询功能,可以选择筛选一个符合从(m,n)范围的数据。
然后这个数据是需要对数据库取出的几万条数据进行一个实时遍历运算,然后再排序,最后需要筛一个符合( m,n )的范围。

萌新目前想到的就是用循环 二分法来找,不知道 v2 的大佬们有没有更好的方案

2014 次点击
所在节点    PHP
11 条回复
xupefei
2021-09-16 15:56:46 +08:00
文不对题,到底要不要排序
JKeita
2021-09-16 16:19:01 +08:00
先筛选再排序?
dqzcwxb
2021-09-16 16:20:26 +08:00
如果是 java 的话可以用 TreeMap ConcurrentSkipListMap 实现
acr0ss
2021-09-16 16:21:39 +08:00
既然已经有实时遍历运算,再次基础上过滤 (m, n) 范围不行吗?还能减少排序的数据量。
pray123
2021-09-16 16:29:47 +08:00
数据符合范围再插入排序?
lybcyd
2021-09-16 16:37:58 +08:00
直接使用 SQL 不行吗?这个需求数据库直接就可以解决吧,何必写代码
zhengfan2016
2021-09-16 16:57:26 +08:00
@JKeita #2
@acr0ss #4 感谢,已解决
@pray123 #5
zhengfan2016
2021-09-16 16:58:03 +08:00
@lybcyd #6 不太会写触发器😂
zhengfan2016
2021-09-16 17:04:21 +08:00
@xupefei #1 要的,不仅要筛,还要排😂
wanzi2019
2021-09-16 18:25:27 +08:00
听君一席话,如听一席话
512357301
2021-09-25 15:06:46 +08:00
这是 SQL 就能搞定的,而且数据库效率更高,不是触发器哦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/802310

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX