使用 Amazon Keyspaces 中的查询 - Amazon Keyspaces(针对 Apache Cassandra)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用 Amazon Keyspaces 中的查询

本节介绍了如何使用 Amazon Keyspaces (for Apache Cassandra) 中的查询。可用于查询、转换和管理数据的 CQL 语句为 SELECTINSERTUPDATEDELETE。以下主题概述了使用查询时可以使用的一些更复杂的选项。有关包含示例的完整语言语法,请参阅Amazon Keyspaces 中的 DML 语句(数据操作语言)

在 Amazon Keyspaces 中对结果进行排序

ORDER BY 子句指定在 SELECT 语句中返回的结果的排序顺序。该语句将列名列表作为参数,您可以为每个列指定数据的排序顺序。您只能在排序子句中指定聚类列,不允许使用非聚类列。

返回的结果的两个可用排序顺序选项ASC分别用于升序和DESC降序排序顺序。如果您没有在查询语句中指定排序顺序,则使用聚类列的默认顺序。

您可以在排序子句中使用的可能的排序顺序取决于在创建表时分配给每个聚类列的排序顺序。查询结果只能按照在创建表时为所有聚类列定义的顺序进行排序,或者按照定义的排序顺序的反向顺序进行排序。不允许使用其他可能的组合。

例如,如果表的 CLUSTERING ORDER 为 (col1 col2 col3 ASC),则 ORDER BY 的有效参数为 (col1 col2 col3 ASC) 或 (col1 col2 col3 DESC)。有关 CLUSTERING ORDER 的更多信息,请参阅 table_options 下的 CREATE TABLE

在 Amazon Keyspaces 中对结果进行分页

当读取的数据处理语句超过 1MB 时,Amazon Keyspaces 会自动对语句的结果进行SELECTSELECT分页。使用分页时SELECT,语句结果将分为“页面”数据,数据大小为 1MB或更少)。应用程序可以先处理第一页结果,然后处理第二页结果,依此类推。客户端在执行返回多行的SELECT查询时应始终检查分页标记。

如果客户端提供需要读取超过 1MB 数据的 PAGE SIZE,则 Amazon Keyspaces 会根据 1MB 数据读取增量自动将结果分成多个页面。

例如,如果行的平均大小为 100 KB,并且您指定了 20 的 PAGE SIZE,则 Amazon Keyspaces 会在读取 10 行(1000 KB 的数据读取)后自动对数据进行分页。

由于 Amazon Keyspaces 根据读取以处理请求的行数(而不是结果集中返回的行数)对结果进行分页,因此,如果您正在运行筛选的查询,则某些页面可能不包含任何行。

例如,如果您将 PAGE SIZE 设置为 10,并且 Keyspaces 计算 30 行来处理您的SELECT查询,则 Amazon Keyspaces 将返回三页。如果只有一部分行与您的查询匹配,则某些页面可能具有少于 10 行。