fox*_*gen 2 google-cloud-platform google-cloud-spanner
我正在评估一个项目的一些不同的数据存储,并且我有一个奇怪但不灵活的要求来检查每个查询是否存在 1500 个键...基本上我要运行的唯一查询的形式是:
SELECT user_id, name, gender
WHERE user_id in (user1, user2, ..., user1500)
Run Code Online (Sandbox Code Playgroud)
表中大约有 35 亿行。Spanner 是一个引起我注意的数据存储。我想知道以这种方式查询数据是否可行,或者是否会由于子句中的项目数量过多而遇到性能问题WHERE。到目前为止,我只能在少量数据上测试这些查询,因此我更倾向于理论性能影响,而不是仅仅“尝试并发现”。
另外,是否有其他数据存储可能更适合这种读取模式?我预计每秒运行的查询不超过 80 个。此外,数据将每周批量加载。数据本质上是结构化的,但我们不以关系方式使用它(即没有连接)。
无论如何,如果这个问题有任何含糊之处,我们很抱歉。如果需要,我很乐意提供更多详细信息。
如果您使用绑定数组参数来指定键,1500 个键应该不是问题:
SELECT user_id, name, gender
FROM table
WHERE user_id in UNNEST(@users)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
919 次 |
| 最近记录: |