news 2026/9/17 8:48:49

数据库分片和分区

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库分片和分区

1.分片Database Sharding

是一种水平拆分(Horizontal Partitioning,按行拆分)的方案,用来解决单机数据库在数据量、并发量上的瓶颈问题。(垂直拆分是指按列的字段拆分。)

一句话定义:

把同一张逻辑表的数据,按某种规则拆分,分布存储在多台数据库机器(或多个库/表)上。

  • 对业务来说, 还是“一张表

  • 对物理存储来说: 实际是“多台机器上的多张表

// 逻辑上一张表 user(id, name, age, ...) // 分片后,物理结构可能是: db1.user_0 (存 user_id % 2 == 0 的数据) db2.user_1 (存 user_id % 2 == 1 的数据) //从业务视角查询: SELECT * FROM user WHERE id = 123; // 底层处理时 SELECT * FROM db2.user_1 WHERE id = 123;

1.1 缺点

  1. 跨分片查询。
  2. 自增主键不再可用。

2.分区

表分区是数据库(如 MySQL、PostgreSQL)提供的一种单库内的物理拆分机制

核心点:

  • 对业务是 1 张表

  • 对数据库也是 1 个库

  • 对存储引擎来说是多份数据文件

👉 所有分区都在同一台数据库实例里。按时间分区的例子:

CREATE TABLE orders ( id BIGINT NOT NULL, create_time DATE NOT NULL, amount INT, PRIMARY KEY (id, create_time) ) PARTITION BY RANGE (TO_DAYS(create_time)) ( PARTITION p202401 VALUES LESS THAN (TO_DAYS('2024-02-01')), PARTITION p202402 VALUES LESS THAN (TO_DAYS('2024-03-01')) );

已有数据的表新增分区,必须创建时已有分区才行:

ALTER TABLE orders ADD PARTITION ( PARTITION p202403 VALUES LESS THAN (TO_DAYS('2024-04-01')) );

3.月表怎么创建

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 4:39:21

Maven Spring框架依赖包

Maven中添加Spring框架依赖包 Spring核心工具包SpringJDBCSpring配置文件头信息 Spring核心工具包 在pom.xml文件中添加 <!-- Spring的核心工具包--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spr…

作者头像 李华
网站建设 2026/9/13 16:49:42

JavaScript的p5.js库使用介绍

JavaScript的p5.js库使用介绍 简要说明 p5.js 是一个基于 JavaScript 的库&#xff0c;它的核心目标是 “让写代码像画画一样简单”。p5.js 是 Processing 的 JavaScript 版本&#xff0c;继承了 Processing 的易用性和哲学&#xff0c;但可以在浏览器中直接运行。 p5.js支持…

作者头像 李华
网站建设 2026/9/3 18:56:07

华为OD机试真题双机位C卷 【评委评分】C语言实现

评委评分 2025华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录&#xff5c;机考题库 算法考点详解 题目描述 一个有N个选手参加比赛&#xff0c;选手编号为1~N&#xff08;3<N<100&…

作者头像 李华
网站建设 2026/9/11 21:02:30

10. 同局域网内远程控制另一台电脑

目标&#xff1a; 两台 Windows 家庭版笔记本&#xff0c;在同一 Wi-Fi 下&#xff0c;用 RustDesk 局域网远控 ✅ 不走公网 ✅ 不依赖官方服务器 ✅ 延迟接近本地 ✅ 可扩展到自建服务器一、RustDesk 的“通信模型” 先知道 RustDesk 到底是怎么连的&#xff0c;否则你不知道什…

作者头像 李华
网站建设 2026/9/15 7:24:35

iPerf新手攻略:快速搭建网络测试环境!

搭建网络测试环境是性能评估的第一步&#xff0c;而iPerf因其跨平台兼容性和易用性&#xff0c;成为新手入门的首选工具。无论是Windows、Linux还是macOS&#xff0c;都能快速安装并运行iPerf&#xff0c;完成网络性能测试。本文将手把手教你搭建iPerf测试环境&#xff0c;从服…

作者头像 李华
网站建设 2026/9/13 14:52:49

linux上redis升级

linux上redis升级 redis版本升级。 我原本的redis 版本是6.2.1&#xff0c;现在就对他做一下升级处理。 1、下载redis 源码包&#xff1a; redis 下载地址 根据下载地址选择自己要安装的redis 版本的源码包。这里我下载的是 redis-6.2.6.tar.gz。 这里你可以先下载到本地&am…

作者头像 李华