SQL分库分表
什么是分库分表?
分库分表是两种操作,一种是分库,一种是分表。
分库分表又分为垂直拆分和水平拆分两种。
(1)分库:将原来存放在单个数据库中的数据,拆分到多个数据库中存放。
(2)分表:将原来存放在单个表中的数据,拆分到多个表中存放。
垂直拆分特点:
(1)每个库(表)的结构都不一样;
(2)每个库(表)的数据至少一列一样;
(3)每个库(表)的并集是全量数据;
水平拆分特点:
(1)每个库(表)的结构都一样;
(2)每个库(表)的数据都不一样;
(3)每个库(表)的并集是全量数据
垂直分库:专库专用,按照业务将表进行分类,分布在不同的数据库中,每个库可以放在不同的服务器上。

根据业务拆分,如图:电商系统,拆分成订单库、会员库、商品库。
垂直分库优点:
(1)解决业务层面的耦合,业务清晰;
(2)能对不同业务的数据进行分级管理、维护、监控、扩展等;
(3)高并发场景下,垂直分库一定程度的提升IO、数据库连接数、降低单机硬件资源的瓶颈;
垂直分表:将一个表按照字段分为多表,每个表里面都存储其中一部分字段。

根据业务去拆分表,如图:把 user表 拆分成 user_base表 和 user_info表,user_base表 负责存储登录,user_info表 负责存储基本用户信息。
水平分库:同一个表的数据按一定规则拆到不同的数据库中,库放在不同的服务器上。

如图:按会员库拆分成会员1库、会员2库;以userid拆分,0~1000为1库,1001~2000为2库。
水平分库优点:
(1)解决了单库大数据,高并发的性能瓶颈;
(2)提高了系统的稳定性及可用性;
水平分表:同一个数据库内,对数据行拆分,不影响表结构。

如图:users表 拆分成 users1表 和 users2表;
水平分表优点:
(1)优化单一表数据量过大而产生的性能问题。
(2)避免IO争抢而减少锁表的几率。
相关文章:
SQL分库分表
什么是分库分表? 分库分表是两种操作,一种是分库,一种是分表。 分库分表又分为垂直拆分和水平拆分两种。 (1)分库:将原来存放在单个数据库中的数据,拆分到多个数据库中存放。 (2&…...
大数据分析案例-基于逻辑回归算法构建微博评论情感分类模型
🤵♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…...
0105深度优先搜索算法非递归2种实现对比-无向图-数据结构和算法(Java)
1 两种非递归实现 在前面我们解决无向图的单点通性和单点路径问题时,都用到了深度优先搜索算法。深度优先搜索算法可以用递归和非递归两种方式。这里讨论非递归实现。 无向图结构使用邻接表实现。 第一种非递归方法(推荐),代码如…...
传统手工数据采集耗时耗力?Smartbi数据填报实现数据收集分析自动化
企业在日常经营管理过程中,往往需要收集很多内外部的信息,清洗整理后再进行存储、分析、呈现、决策支持等各种作业,如何高效收集结构化数据是企业管理者经常要面对的问题。传统手工的数据采集方式不仅耗费了大量人力时间成本,还容…...
《Spring源码深度分析》第5章 Bean的加载
目录标题前言一、Bean加载入口与源码分析1、Bean加载的入口2、Bean加载源码二、FactoryBean的使用三、缓存中获取单例bean(待补充)前言 经过前面的分析,我们终于结束了对XML 配置文件的解析,接下来将会面临更大的挑战,就是对 bean 加载的探索…...
华为OD机试真题Java实现【求最大数字】真题+解题思路+代码(20222023)
求最大数字 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533 请返回经过删…...
Java——异常机制
前言 随着对java的不断深入学习,在对语法以及编程思想有了一定的了解之后,在编程的过程中有可能会因为用户的输入不正确或者逻辑错误而出现异常或者错误,因此如何去捕捉与避免不应该出现的异常或者错误就变得十分重要。本文就介绍了java的异…...
【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)
系列文章目录 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate…...
ESP32设备驱动-土壤湿度传感器驱动
土壤湿度传感器驱动 1、土壤湿度传感器介绍 土壤湿度传感器由两个探头组成,用于测量水的体积含量。 两个探头让电流通过土壤,然后得到电阻值来测量水分值。 当有更多的水时,土壤会传导更多的电,这意味着电阻会更小。 因此,水分含量会更高。 干燥的土壤导电性差,所以当…...
公网远程连接MongoDB数据库【内网穿透】
文章目录1. 安装数据库2. 内网穿透2.1 创建隧道映射2.2 测试随机公网地址远程连接3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供…...
SQL注入——floor报错注入
目录 一,涉及到的函数 rand() floor() concat_ws() as别名,group by分组 count() 报错原理 一,涉及到的函数 rand()函数:随机返回0~1间的小数 floor()函数:小数向…...
P6入门:在EPS下创建项目(P6Professional)
引言 在 Primavera P6 中,一旦创建了企业项目结构EPS,就可以开始向该结构添加项目。项目是一组活动和数据,它们构成了创建产品或服务的计划。项目有开始日期和结束日期,可以包括活动、资源、工作分解结构、组织分解结构、日历、关…...
Linux安装及管理应用和账号和权限管理 讲解
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...
【JDK1.8 新特性】Stream API
1. 前言 Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力&…...
Springboot Maven打包跳过测试的五种方式总结 -Dmaven.test.skip=true
使用Maven打包的时候,可能会因为单元测试打包失败,这时候就需要跳过单元测试。也为了加快打包速度,也需要跳过单元测试。 Maven跳过单元测试五种方法。 在正式环境中运行Springboot应用,需要先打包,然后使用java -ja…...
静态链接和动态链接的区别
链接即为编译(包含预编译,编译和汇编过程)完成之后的过程,此过程又分为静态链接和动态链接两种方式。 1、静态链接 静态链接就是在生成可执行文件的时候(链接阶段),把所有需要的函数的二进制代…...
MATLAB学习笔记1
MATLAB学习笔记1 - 向量和矩阵 Matlab的数组可以是行向量,列向量,矩阵形式等 1.利用[ ]创建数组 例:包含7和9的一个数组,使用空格或,为行 x [7 9]//x是一个1*2的矩阵 y[7,9]//y是一个1*2的矩阵例:包含7和…...
Gorm -- 查询记录
文章目录查询单条记录通过结构体查询对应表指定表并将查询一条记录结果放至字典中按照主键查询查询多行记录按照主键查询使用结构体查询指定表名查询并放至字典列表中指定查询字段查询条件Where 条件(、like、in)通过结构体或字典设置查询条件或非排序Li…...
「Python 基础」错误、调试与测试
文章目录1. 错误处理2. debugassertloggingpdbIDE3. unittest编写运行setUp 与 tearDown4. doctest1. 错误处理 try:# 可能有异常的代码块r 10/int(2) except ValueError as e:# 有异常时执行,捕获指定类型及其子类型的错误print(ValueError, e) except ZeroDivis…...
17万字 JUC 看这一篇就够了(一) (精华)
JUC 今天我们来进入到 Java并发编程 JUC 框架的学习 ,内容比较多,但希望我们都能静下心来,耐心的看完这篇文章 文章目录JUC进程概述对比线程创建线程ThreadRunnableCallable线程方法APIrun startsleep yieldjoininterrupt打断线程打断 park终…...
LFM2.5-1.2B-Thinking-GGUF一文详解:Thinking模式与传统Decoder-only模型的本质差异
LFM2.5-1.2B-Thinking-GGUF一文详解:Thinking模式与传统Decoder-only模型的本质差异 1. 模型概述 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,专为低资源环境优化设计。该模型采用创新的Thinking模式架构,与传统Decode…...
STM32L0待机模式唤醒后程序跑飞?用LL库/HAL库正确处理系统复位与初始化
STM32L0待机模式唤醒后的系统复位陷阱与实战解决方案 引言:被忽视的唤醒后世界 当你按下STM32L0的唤醒按键,看到电流表指针从微安级跳回毫安级,内心是否涌起一阵成就感?但紧接着,OLED屏幕不再刷新,蓝牙模块…...
工业自动化必备:Kepware+UaExpert实现OPC UA通信的5个关键步骤与常见问题解决
工业自动化实战:Kepware与UaExpert的OPC UA通信全流程解析 在工业4.0时代,设备间的无缝通信已成为智能制造的基础能力。作为工业自动化领域的黄金标准,OPC UA协议凭借其跨平台、高安全性等特性,正在取代传统OPC DA成为工厂数据交互…...
Pixel Fashion Atelier应用场景:数字藏品创作者批量生成稀缺性像素时装NFT
Pixel Fashion Atelier应用场景:数字藏品创作者批量生成稀缺性像素时装NFT 1. 像素时装NFT创作新范式 在数字藏品领域,稀缺性和独特性是核心价值。Pixel Fashion Atelier为创作者提供了一个革命性的解决方案,将AI生成技术与像素艺术美学相结…...
BGE-Large-Zh在游戏行业的应用:玩家反馈语义分析
BGE-Large-Zh在游戏行业的应用:玩家反馈语义分析 1. 引言 在游戏行业,玩家反馈是宝贵的资源,但面对海量的评论、论坛帖子和客服对话,人工处理往往力不从心。传统的关键词匹配方法只能捕捉表面信息,无法理解玩家真正的…...
从语音中读懂情绪:Awesome Machine Learning情感分析实践指南
从语音中读懂情绪:Awesome Machine Learning情感分析实践指南 【免费下载链接】awesome-machine-learning josephmisiti/awesome-machine-learning: 一个包含各种机器学习和深度学习资源的列表,包括算法、工具和库等。适合机器学习和深度学习开发者参考和…...
RWKV7-1.5B-g1a入门必看:轻量中文问答/文案续写/摘要生成快速上手指南
RWKV7-1.5B-g1a入门必看:轻量中文问答/文案续写/摘要生成快速上手指南 1. 模型简介 RWKV7-1.5B-g1a是一个基于RWKV-7架构的多语言文本生成模型,特别适合中文场景下的基础问答、文案续写、简短总结和轻量对话任务。这个1.5B参数的版本在保持良好生成质量…...
Gin 日志体系详解
Gin 日志体系详解 本文基于 Gin 企业开发的真实场景,从原生日志能力到主流日志工具选型,全程以实用为核心,附带可直接复制的集成代码、最佳实践和踩坑指南,解决 Gin 开发中日志的全场景需求。 一、Gin 原生日志体系详解 Gin 自带了…...
OpenClaw技能市场巡礼:Top10 GLM-4.7-Flash增强模块推荐
OpenClaw技能市场巡礼:Top10 GLM-4.7-Flash增强模块推荐 1. 为什么需要关注技能市场? 第一次接触OpenClaw时,我以为它只是个简单的自动化工具。直到在ClawHub技能市场看到有人用GLM-4.7-Flash模型实现了简历自动打分系统,才意识…...
4G手机远程断电停电报警器:三重告警,漏报风险全杜绝
4G手机远程断电停电报警器,简单来说,就是一款在监测到设备停电时,能通过4G网络自动给你打电话、发短信“通风报信”的智能硬件。解决人不在现场,如何第一时间知道设备停电了。特别适合那些停电会造成严重损失的场景,比…...
