开发指南—函数—拆分函数—RANGE_HASH

简介: 本文将介绍RANGE_HASH函数的使用方式。

描述

根据任一拆分键后N位计算哈希值,然后再按分库数取余,完成路由计算。N为函数第三个参数。

例如,RANGE_HASH(COL1, COL2, N) ,计算时会优先选择COL1,截取其后N位进行计算。 COL1不存在时再选择COL2。

使用限制

  • 拆分键的类型必须是字符类型或数字类型,两个拆分键类型必须保持一致。
  • 两个拆分键皆不能修改。
  • 折分键暂时不支持做范围查询。
  • 插入数据时两个拆分键的后N位需确保一致。
  • 字符串长度需不少于N位。

使用场景

适用于需要有两个拆分键,并且查询时仅有其中一个拆分键值的场景。

使用示例

假设PolarDB-X里已经分了8个物理库,现在需要按买家ID和订单ID对订单表进行分库;查询时条件仅有买家ID或订单ID,那么您可以使用如下DDL语句构建订单表:


create table test_order_tb (  
    id int, 
    buyer_id varchar(30) DEFAULT NULL,  
    order_id varchar(30) DEFAULT NULL, 
    create_time datetime DEFAULT NULL,
    primary key(id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 
    dbpartition by RANGE_HASH(buyer_id,order_id, 10) 
    tbpartition by RANGE_HASH (buyer_id,order_id, 10) tbpartitions 3;


相关文章
|
Java Scala C++
Python中如何优雅地使用switch语句
我们知道Python中没有类似C++或者Java中的switch...case语句,我们可以使用多个if...elif...else进行模拟,但是这样的写法让代码看起来很凌乱,个人不是很推荐在代码中大量使用if语句。那么解决的办法是什么呢?答曰:字典(dict)。下面我们以两个典型案例进行说明。
363 0
|
Java 开发工具 Android开发
Android与iOS开发环境搭建全解析####
本文深入探讨了Android与iOS两大移动操作系统的开发环境搭建流程,旨在为初学者及有一定基础的开发者提供详尽指南。我们将从开发工具的选择、环境配置到第一个简单应用的创建,一步步引导读者步入移动应用开发的殿堂。无论你是Android Studio的新手还是Xcode的探索者,本文都将为你扫清开发道路上的障碍,助你快速上手并享受跨平台移动开发的乐趣。 ####
|
机器学习/深度学习 JSON 物联网
ORPO偏好优化:性能和DPO一样好并且更简单的对齐方法
ORPO是另一种新的LLM对齐方法,这种方法甚至不需要SFT模型。通过ORPO,LLM可以同时学习回答指令和满足人类偏好。
821 0
|
算法 Python
|
大数据
《CIO指南:如何使用SAP HANA平台处理大数据》电子版地址
CIO指南:如何使用SAP HANA平台处理大数据
226 2
《CIO指南:如何使用SAP HANA平台处理大数据》电子版地址
|
存储 机器学习/深度学习 数据可视化
特征工程之类别特征
特征工程之类别特征
|
存储 人工智能 弹性计算
容器应用使用阿里云文件存储NAS最佳实践
应用程序需要数据, IT方案被创造出来是为了解决商业业务数据的问题。容器问世之时,它最初的目的是应对无状态化服务。随着容器技术的成熟,越来越多的人希望容器化应用可以直接关联数据。不论是传统的还是新型应用,都需要持久化存储。
|
4天前
|
数据采集 人工智能 安全