开发者社区 > 云存储 > 正文

表格存储中GetRange操作遵循最左匹配原则,这里继续比较PK2如何实现呢?

"表格存储中GetRange操作遵循最左匹配原则,读取数据时,依次比较第一主键列到第四主键列。例如表的主键包括PK1、PK2、PK3三个主键列,读取数据时,优先比较PK1是否在开始主键与结束主键的范围内,如果PK1在设置的主键范围内,则不会再比较其他的主键,返回在PK1主键范围内的数据;如果PK1在设置的主键边界上,则继续比较PK2是否在开始主键与结束主键的范围内,以此类推.
继续比较PK2如何实现呢?
主键边界上是什么意思?"

展开
收起
小易01 2023-11-21 17:23:16 38 0
3 条回答
写回答
取消 提交回答
  • "主键边界上"是指在进行GetRange操作时,如果某个主键列的值恰好等于设置的开始或结束主键值,那么系统会进一步检查下一个主键列是否在指定的范围内。

    例如,假设表的主键包括PK1、PK2、PK3三个主键列,并且您希望读取PK1为A,PK2为B的数据。如果表中存在一行数据,其PK1值为A,PK2值为B,PK3值为C,而您的GetRange请求中设置的结束PK2值为B,那么系统会返回这行数据,因为它满足所有主键列的范围条件。

    具体来说,当PK1值为A时,系统首先检查PK1是否在开始和结束主键范围内(即A到A)。由于PK1的值完全符合要求,系统会继续检查PK2是否也在范围内(即B到B)。由于PK2的值也符合要求,系统最后会检查PK3是否在范围内(即C到C)。由于PK3的值超出了范围,系统将不会返回这行数据。

    这个过程是按照最左匹配原则进行的,也就是说,系统会优先比较第一主键列(PK1),然后是第二主键列(PK2),最后是第三主键列(PK3)。只有当所有主键列的值都符合要求时,系统才会返回相应的数据。

    2023-11-29 14:42:30
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在阿里云表格存储中,“GetRange”操作遵循最左匹配原则,这意味着当您指定一个范围时,表格存储首先将比较第一个主键列的范围,并在该范围内搜索匹配的行。如果第1个主键在范围内,则会忽略其他主键并返回所有符合条件的行。如果第1个主键在边界上,则会继续比较下一个主键,直到找到完全匹配的行。
    如果要实现第二个主键的比较,请按照以下步骤操作:

    1. 指定第一主键列,并使用范围参数。
    2. 获取结果集,并逐一筛选符合的行。
    3. 如果匹配的第一个主键在边界上,请尝试比较第二个主键,直到找到所有匹配的行。
    2023-11-21 22:57:06
    赞同 展开评论 打赏
  • 意中人就是我呀!

    " getRange的时候,PK1范围在【1,5】,PK1=1就是边界上。
    https://developer.aliyun.com/article/742095?spm=a2c4g.11186623.0.0.51e441abPAEQCi
    此答案整理至钉群“表格存储技术交流群-2”"

    2023-11-21 19:03:05
    赞同 展开评论 打赏

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

相关电子书

更多
TableStore在社交类场景下的应用 立即下载
表格存储实时数据流Steam的技术揭秘和应用场景 立即下载
表格存储(TableStore) 立即下载