我想在QLDB中定义一个查询语言为PartiQL的主键,如何将ID定义为主键?
CREATE TABLE CarInfo WITH (aws_tags = `{ 'ID': INT, 'Manufacturer': STRING, 'ProductionYear': year, 'Model':STRING, 'VIN':STRING, 'Owner': STRING}`);因为在“指南”的文档中写着"QLDB支持开放内容,不强制执行模式,所以在创建表时不定义属性或数据类型“,所以PartiQL中可能没有主键存在吗?
发布于 2022-04-06 21:02:40
您最初的断言是正确的--目前QLDB中没有传统的主键概念。若要唯一标识文档,可以使用文件id。要执行唯一性,当前的建议是在事务中选择“插入前”,以验证要插入的数据是唯一的。您还需要确保用于强制执行唯一性/幂等性的字段包含高基数值,以便对索引查询进行优化(请参阅有关优化的更多信息。)。
关于排序的注释,QLDB索引中的内容没有排序,并且当前不支持排序索引。因此,您需要执行应用程序级别的排序。如果有太多行无法做到这一点,您可以考虑使用流式传输到辅助数据库进行排序和任何其他分析性查询。
https://stackoverflow.com/questions/71258068
复制相似问题