这是我想要匹配的一组数字
(33, 15, 1)
我可能有X个数组
看起来像
(15, 1, 7)
(20, 5, 15)
(7, 2, 33)
...
...
这种数组的组合基本上代表了一个矩阵吗?
这些数字具有重要性,因此不应对其进行排序(它们是数据库中的特定ID)
基本上解决方案首先需要首先查看我的第一组数字,看看我们是否在第一列中得到匹配,如果没有,请转到第二列,如果没有检查第三列,
所以它将是33 == 15 - > 33 == 20 - > 33 == 7 - > 33 == 1 - > 33 == 5等,直到我们找到匹配,所以在这种情况下,我们匹配最后一个数组中的最后一个数字,这将返回。
失败了,我们将从搜索集(15)移动到第二个数字并从矩阵的开头开始并再次尝试找到匹配的所有内容,依此类推。
这个问题最有效的解决方案是什么?起初我在考虑递归,但现在我不确定。必须有一种比循环遍历每个数据集更好的方法。一个简单的迭代过程似乎需要很多开销,具体取决于数字集的大小。
[编辑] -
现在这个问题就是这个大小,限于3列
但理论上行数可以增加到几百,这些实际上是来自数据库的行,因为我添加了更多信息,行数将会增长
答案 0 :(得分:0)
取决于它们来自数据库中的行以及结构如何,这些列的索引和sql查询为您提供正确的行应该比将所有100行返回到客户端进行处理。还取决于整个数据库与您关心的chuck相比有多大。 DBMS通常非常擅长这样做,并且跨越整个表的多个工作线程为您收集行。