View a markdown version of this page

估算表扫描的读取容量消耗 - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

估算表扫描的读取容量消耗

导致全表扫描的查询(例如使用 ALLOW FILTERING 选项的查询)是处理的读取数量多于返回结果的另一种查询示例。读取容量消耗基于读取的数据,而不是返回的数据。

对于表扫描示例,我们在按需容量模式下使用以下示例表。

pk | ck | value ---+----+--------- pk | 10 | <any value that results in a row size larger than 4KB> pk | 20 | value_1 pk | 30 | <any value that results in a row size larger than 4KB>

默认情况下,Amazon Keyspaces 会在按需容量模式下创建一个具有四个分区的表。在此示例表中,所有数据都存储在一个分区中,其余三个分区为空。

现在,对表运行以下查询。

SELECT * from amazon_keyspaces.example_table_2;

此查询将导致表扫描操作,其中 Amazon Keyspaces 会扫描表的所有四个分区,并在 LOCAL_QUORUM 一致性模式下消耗 6 个 RRU。首先,Amazon Keyspaces 消耗 3 个 RRU 来读取 pk=‘pk’ 的三行。然后,Amazon Keyspaces 会额外消耗 3 个 RRU 来扫描表的三个空分区。由于此查询会导致表扫描,因此 Amazon Keyspaces 会扫描表中的所有分区,包括没有数据的分区。