Sql 高效多参数搜索的数据结构

Sql 高效多参数搜索的数据结构,sql,data-structures,Sql,Data Structures,我有一个多维对象的集合,例如类Person={age:int,height:int,weight:int等等..}。 我需要使用一些查询来查询集合,其中一些维度是固定的,而其他维度是未指定的,例如getallPersonWith{age=c,height=a}或getallPersonWith{weigth=d} 现在我有一个带有{age,Height,}的多重映射,例如可以固定的所有维度->List:Person。要执行查询,我首先计算验证查询的键集,然后从映射中合并相应的列表。 在查询速度方

我有一个多维对象的集合,例如类Person={age:int,height:int,weight:int等等..}。 我需要使用一些查询来查询集合,其中一些维度是固定的,而其他维度是未指定的,例如getallPersonWith{age=c,height=a}或getallPersonWith{weigth=d}

现在我有一个带有{age,Height,}的多重映射,例如可以固定的所有维度->List:Person。要执行查询,我首先计算验证查询的键集,然后从映射中合并相应的列表。 在查询速度方面,还有更好的吗?特别是,是否有任何东西更接近使用一个按维度排序的列表,我认为这是最快的解决方案,但管理起来过于繁琐:


请澄清,我不是在寻找sql查询。

您的意思是:

SELECT * FROM person p
WHERE gender = 'F'
  AND age >=18
  AND age < 30
  AND weight > 60 -- metric measures here !!
  AND weight < 70
  AND NOT EXISTS (
    SELECT * from couple c
    WHERE c.one = p.id OR c.two=p.id
    );

您认为我为什么使用SQL?

出于您的目的,您可以看看:


对于子查询,一列的性能应该更好:而且不存在从couple中选择ID,其中c.one=p.ID或c.two=p.ID;胡说查询优化程序会发现只需要一个布尔值,因为外部查询不会引用“*”中的任何一个。想想看,所有DBMS都有这样的查询优化程序吗查询优化程序:聪明的会,白痴不会。这是一个依赖于实现的ISSUE:=根据实现的不同,也可以尝试:选择1或选择True,可能实现将取消对它的抵抗。任何事情都会发生…你有没有考虑过任何特定的sql表结构,或者只是暂时的瞎猜?我不能使用sql,那些是内存中的临时对象。我想要一些轻量级和简单的东西。你在使用什么编程语言?C++:你看了吗???杰斯特谢谢,为什么不回答我,我可以投票给你: