Google cloud platform Cloud Panner-在WHERE子句中读取大量项目的性能

Google cloud platform Cloud Panner-在WHERE子句中读取大量项目的性能,google-cloud-platform,google-cloud-spanner,Google Cloud Platform,Google Cloud Spanner,我正在为一个项目评估一些不同的数据存储,我有一个奇怪但不灵活的要求,检查每个查询是否存在1500个键。。。基本上,我将运行的唯一查询的形式如下: 选择用户id、姓名、性别 其中用户id位于(user1、user2、…、user1500) 我将有大约35亿行在表中。我注意到的一个数据存储是扳手。我想知道以这种方式查询数据是否可行,或者是否会因为我的WHERE子句中的大量项而遇到性能问题。到目前为止,我只能在少量数据上测试这些查询,因此我更倾向于理论性能的影响可能是什么样子,而不是奢侈地“尝试并发

我正在为一个项目评估一些不同的数据存储,我有一个奇怪但不灵活的要求,检查每个查询是否存在1500个键。。。基本上,我将运行的唯一查询的形式如下:

选择用户id、姓名、性别
其中用户id位于(user1、user2、…、user1500)
我将有大约35亿行在表中。我注意到的一个数据存储是扳手。我想知道以这种方式查询数据是否可行,或者是否会因为我的
WHERE
子句中的大量项而遇到性能问题。到目前为止,我只能在少量数据上测试这些查询,因此我更倾向于理论性能的影响可能是什么样子,而不是奢侈地“尝试并发现”

另外,是否有其他数据存储可以更好地用于此读取模式?我希望每秒运行的查询不超过80个。此外,数据将每周批量加载。数据的结构是自然的,但我们不以关系的方式使用它(即没有连接)


无论如何,如果这个问题有点含糊,我很抱歉。如果需要,我很乐意提供更多详细信息。

如果使用绑定数组参数指定键,则1500个键应该不是问题:

SELECT user_id, name, gender
FROM table
WHERE user_id in UNNEST(@users)

如果使用绑定数组参数指定键,则1500个键不应该是问题:

SELECT user_id, name, gender
FROM table
WHERE user_id in UNNEST(@users)