我到处搜索,但没有找到任何答案,因此在此处发布问题。
我正在设置一个新的数据库,并尝试比较Dynamo DB SCAN操作和SQL WHERE子句的性能(均未创建索引。)
我了解DynamoDB SCAN操作会随着数据的增长而变得非常慢,因为它必须遍历所有记录才能获得所需的结果,但是SQL WHERE子句也不扫描整个表以获得所需的结果?
那么,这是否意味着Dynamo DB SCAN操作性能与SQL WHERE子句性能大致相同,或者SCAN速度较慢,因为它需要对主键进行所有哈希处理?
答案 0 :(得分:0)
SQL WHERE子句还会扫描整个表以获得所需的结果吗?
仅在绝对必要时使用。
在大多数情况下,将存在一个或多个索引,以帮助缩小RDBMS需要读取的记录的范围。数据库甚至可能会即时建立一个。
在使用SCAN()时Dynamo将始终读取每条记录
如果您有很多(任何?)临时查询... Dynamo不适合您。
整个视频值得一看... Matching the Database to the Workload