我希望能够搜索我的数据库,找到与我的搜索集相交的集合。希望结果按照交集大小的顺序返回给我。
数据库中的集合将大约有10,000个。搜索集大约有500个。数据库中的行数大约为1,000,000。
示例查询:
search_set = [这个集合有500个ID]
SELECT rows WHERE "find_set" INTERSECTS "search_set" ORDER BY "intersection的大小"
示例数据库:
index find_set 1 [有10,000个ID的集合] 2 [有5,000个ID的集合] ... 1,000,000 [有15,000个ID的集合]
- 我可以期望这个查询需要多长时间?
- 是否有特定的数据库或数据库库应该使用?
- 我需要进行一些预处理吗?
- 数据库如何实现这种类型的查询?它们会针对"search_set"中的每个500个ID执行一次搜索吗?
- 还有哪些其他事情需要了解这种类型的问题以及它是如何解决的?
非常感谢!