给定一个集合[2004, 2008],如何快速找到这个集合与其他集合是否有交集?
实际上我正在处理一个数据库问题,该表有两列,一列是下限,另一列是上限。任务是找到所有与给定的2元组(如[2004,2008])相交的行。
我正在使用mongodb,它本质上支持这种操作(我的意思是有关键字来执行此操作)吗?我有大量的用户,所以我希望尽快完成此任务。
编辑:为了更清晰,一个数据库表包含以下行:
20 30
10 50
60 90
...
给定输入的范围为
(25 40)
,我希望返回与给定范围有交集的行所代表的范围。因此返回结果为:
(20 30),(10 50)
。
SELECT * from the_table where not (lower_bound > 2008 or upper_bound < 2004)
。如果它不能做到这一点,那么它就不是一个数据库 ;-p - Steve Jessop