目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7089.7k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(43)
赞(0)

Mycat分片规则_分片算法

img

分片算法描述分库分表数值类型
MOD_HASH取模哈希数值,字符串
UNI_HASH取模哈希数值,字符串
RIGHT_SHIFT右移哈希数值
RANGE_HASH两字段其一取模数值,字符串
YYYYMM按年月哈希DATE,DATETIME
YYYYDD按年日哈希DATE,DATETIME
YYYYWEEK按年周哈希DATE,DATETIME
HASH取模哈希数值,字符串,如果不是,则转换成字符串
MM按月哈希DATE,DATETIME
DD按日期哈希DATE,DATETIME
MMDD按月日哈希DATE,DATETIME
WEEK按周哈希DATE,DATETIME
STR_HASH字符串哈希字符串

常用分片规则

MOD_HASH

[数据分片]hash形式的分片算法。如果分片键是字符串,会将字符串hash转换为数值类型。

  1. 分库键和分表键相同:

    • 分表下标:分片值%(分库数量*分表数量)
    • 分库下标:分表下表/分库数量
  2. 分库键和分表键相同:

    • 分表下标:分片值%分表数量
    • 分库下标:分片值%分库数量

示例

详解:

当分片值为 101 时,

  • DBPARTITIONS 3 会创建 3 个库,即 mydb_0 、mydb_1 、mydb_2 。
  • TBPARTITIONS 1 每个库中会有一个分片表,即 mydb_0.orders_0、mydb_1.orders_1、mydb_2.orders_2。
  • 分表下标 = 101 % (3 * 1)= 2 会被分配到 orders_2 中。
  • 分库下标 = 2 / 1 = 2 -> 会被分配到 mydb_2 中。

YYYYMM

[数值分片]hash形式的分片算法。仅用于分库。(YYYY*12+MM)%分库数量,MM为1–12。

示例

MMDD

仅用于分表。仅DATE、DATETIME类型。 一年之中第几天%分表数。tbpartitions不能超过366。

实时学习反馈

1.Mycat技术中按年月哈希进行分片的是___

A YYYYMM

B YYYYDD

C YYYYHH

D MM

答案

1=>A

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2