本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在处理使用 LIMIT
子句的查询时,Amazon Keyspaces 会在尝试匹配查询中指定的条件时读取达到最大页面大小的行数。如果 Amazon Keyspaces 找不到符合第一页上 LIMIT
值的足够多的匹配数据,则可能需要进行一次或多次分页调用。要继续阅读下一页,可以使用分页令牌。默认页面大小为 1MB。如果希望在使用 LIMIT
子句时消耗较少的读取容量,可以缩小页面大小。有关分页的更多信息,请参阅对 Amazon Keyspaces 中的结果进行分页。
例如,我们来看下以下查询。
SELECT * FROM my_table WHERE partition_key=1234 LIMIT 1;
如果您不设置页面大小,Amazon Keyspaces 会读取 1MB 的数据,即使它只向您返回 1 行。要让 Amazon Keyspaces 只读取一行,您可以将此查询的页面大小设置为 1。在这种情况下,Amazon Keyspaces 只能读取一行,前提是您没有基于 Time-to-live设置或客户端时间戳的过期行。
该PAGE SIZE
参数决定了 Amazon Keyspaces 为每个请求从磁盘扫描多少行,而不是 Amazon Keyspaces 返回给客户端的行数。Amazon Keyspaces 会应用您提供的筛选条件,例如非键列上的不等式,或者在扫描磁盘上的数据LIMIT
之后。如果您未明确设置PAGE SIZE
,Amazon Keyspaces 会在应用筛选条件之前读取最多 1MB 的数据。例如,如果您在使用时LIMIT 1
未指定PAGE SIZE
,Amazon Keyspaces 可能会在应用限制子句之前从磁盘读取数千行并仅返回一行。
为避免过度读取,请减少读取,这样PAGE SIZE
可以减少 Amazon Keyspaces 每次读取时扫描的行数。例如,如果您在查询LIMIT 5
中定义,请将设置为介于 5-10 之间的值,这样 Amazon Keyspaces 在每次分页调用时仅扫描 5-10 行。PAGE SIZE
您可以修改此数字以减少读取次数。对于大于页面大小的限制,Amazon Keyspaces 会按分页状态保留结果总数。如果是 10,000 行,Amazon Keyspaces 可以将这些结果分成两页,每页 5,000 行。LIMIT
1MB 限制是任何页面大小设置的上限。