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