"表格存储中GetRange操作遵循最左匹配原则,读取数据时,依次比较第一主键列到第四主键列。例如表的主键包括PK1、PK2、PK3三个主键列,读取数据时,优先比较PK1是否在开始主键与结束主键的范围内,如果PK1在设置的主键范围内,则不会再比较其他的主键,返回在PK1主键范围内的数据;如果PK1在设置的主键边界上,则继续比较PK2是否在开始主键与结束主键的范围内,以此类推.
继续比较PK2如何实现呢?
主键边界上是什么意思?"
"主键边界上"是指在进行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)。只有当所有主键列的值都符合要求时,系统才会返回相应的数据。
在阿里云表格存储中,“GetRange”操作遵循最左匹配原则,这意味着当您指定一个范围时,表格存储首先将比较第一个主键列的范围,并在该范围内搜索匹配的行。如果第1个主键在范围内,则会忽略其他主键并返回所有符合条件的行。如果第1个主键在边界上,则会继续比较下一个主键,直到找到完全匹配的行。
如果要实现第二个主键的比较,请按照以下步骤操作:
" getRange的时候,PK1范围在【1,5】,PK1=1就是边界上。
https://developer.aliyun.com/article/742095?spm=a2c4g.11186623.0.0.51e441abPAEQCi
此答案整理至钉群“表格存储技术交流群-2”"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。