Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 是否存在可以处理大量复杂查找ID的数据存储_Sql_Persistence_Datastore - Fatal编程技术网

Sql 是否存在可以处理大量复杂查找ID的数据存储

Sql 是否存在可以处理大量复杂查找ID的数据存储,sql,persistence,datastore,Sql,Persistence,Datastore,因此,我们最近遇到了一个问题,我们希望从RDS仓库数据库中的度量表中快速获取大量700多个项目。此度量表的布局与此类似: ID、值1、值2、值3、日期 我们真正想要的是有效地运行一个查询,该查询遍历每700个项目,并对该项目的数据进行一个小的选择。类似于此的内容从表中选择*,其中值1=3,值2=1,值3=501,日期>'2015-06-01'。问题是700个小请求的速度太慢了,因为到DB的往返会让你丧命。所以我们尝试了一个更大的查询,但基本上我们只能说select*from table,其中da

因此,我们最近遇到了一个问题,我们希望从RDS仓库数据库中的度量表中快速获取大量700多个项目。此度量表的布局与此类似:

ID、值1、值2、值3、日期

我们真正想要的是有效地运行一个查询,该查询遍历每700个项目,并对该项目的数据进行一个小的选择。类似于此的内容从表中选择*,其中值1=3,值2=1,值3=501,日期>'2015-06-01'。问题是700个小请求的速度太慢了,因为到DB的往返会让你丧命。所以我们尝试了一个更大的查询,但基本上我们只能说select*from table,其中date>2015-03-01,Value3=501。这有一个问题,即拉取太多的数据,因为我们必须扩大范围,以包含比每个单独项目所需的数据多得多的数据。实际上,SQL不喜欢像select*这样的大型where语句,其中Value1=3、Value2=1、Value3=501和date>'2015-06-01'或Value1=2、Value2=1和Value3=501和date>'2015-05-01'或Value1=5和Value2=1、Value3=501和date>'2015-06-01'。我不知道有什么东西可以处理这种快速查找

即使是像redis这样的东西,当您需要发出许多小请求时,也会有很长的往返时间,我不熟悉任何一个持久层可以执行这种更大的复杂密钥查找。我知道您可以创建大型sql语句来实现这一点,但这似乎有点像是一个累赘。也许没有什么东西可以处理这个问题,但我想我会看看是否有人知道有什么东西是用来处理这种查找的


只是一个参考点,我们正在寻找低于100毫秒的数据抓取,因此当您有一个甚至1毫秒的往返行程时,跨越700个项目的速度会变得太慢。

如果您有700个项目,请将它们存储在本地内存中并搜索它们。这应该很快。对不起,我应该澄清一下,我有700个搜索查询,我需要用来从数据存储中提取数据。我还不知道确切的项目。