MySQL优化(一):MySQL分库分表 - 杜先生的博客

dukuan 2021-11-08 原文


MySQL优化(一):MySQL分库分表


一、分库分表种类

1、垂直拆分

      在考虑数据拆分的时候,一般情况下,应该先考虑垂直拆分。垂直可以理解为分出来的库表结构是互相独立各不相同的、

      – 如果有多个业务,每个业务直接关联性不大,那么就可以把每个业务拆分为独立的实例、库或表。

      – 如果在一个库里面有多张表,那么可以把每张表拆分到不同的实例上。

      – 如果你有一张表,但这个表里的字段很多,每个字段都有不同的含义,例如user表里面有姓名、生日、地址等,那么可以把每个字段独立出来拆分为一张新表。

2、水平拆分

      水平拆分是针对一张表来说的。在经过垂直拆分之后,如果数据量依然很大,那么可以通过某种算法进行水平拆分。拆分后具有多张相同表结构的表,每张表存储一部分数据。

 

二、分库分表原则

1、原则1:能不分就不分

      MySQL是关系型数据库,数据库表之间的关系从一定角度映射了业务逻辑。任何分库分表的行为都会提升业务逻辑的复杂度,数据库除了承载数据的存储和访问外,协助业务更好地实现需求和逻辑也是其重要的工作之一。分库分表会带来数据的合并、查询、更新条件的分离,以及事物的分离等多种后果,业务实现的复杂度往往会翻倍或指数级上升。所以在分表分库之前,应先升级硬盘、内存、CPU、网络、版本、读写分离、负载均衡及SQL语句优化。

2、原则2:数据量太大,正常的运维影响业务访问

      正常运维主要包括:

      – 数据库的备份

      – 数据表的修改

      – 热点数据

3、原则3:表设计不合理

      – 某个表字段不断被update,压力非常大

      – 某个表字段存在TEXT或BLOB字段

4、原则4:某些数据表出现了无穷增长的情况

      各种评论、消息、日志记录表现为不可控的增长,此时可按用户、时间、用途等进行水平拆分。

      

发表于
2018-08-15 11:55 
杜先生的博客 
阅读(3133
评论(0
编辑 
收藏 
举报

 

版权声明:本文为dukuan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dukuan/p/9480610.html

MySQL优化(一):MySQL分库分表 - 杜先生的博客的更多相关文章

  1. 如何: 连接到一台远程计算机 – DanielWise

    如何: 连接到一台远程计算机 2011-04-06 17:34  DanielWise  阅读(3319)  […]...

  2. 机器学习中正则化L1和L2的理解(转) – 静静的白桦林_andy

    机器学习中正则化L1和L2的理解(转) 正则化理解...

  3. 西门子S7comm协议解析 —— 利用Wireshark对报文逐字节进行解析详细解析S7comm所含功能码以及UserData功能(path3)

    好了开始搞UserData这一块了。 接着上一篇继续 西门子S7comm协议解析 —— 利用Wireshark […]...

  4. 电感电容的计算公式 – 乐呵呵

    电感电容的计算公式 容抗用XC表示,电容用C(F)表示,频率用f(Hz)表示,那么Xc=1/2πfc 容抗的单 […]...

  5. mysql 开发进阶篇系列 32 工具篇(mysqladmin工具) – 花阴偷移

    mysql 开发进阶篇系列 32 工具篇(mysqladmin工具) 一.概述     mysqladmin是 […]...

  6. Android移植busybox – CSlunatic

    Android移植busybox Android 的toolbox没有自动补齐,命令少,对于开发人员还是需要b […]...

  7. WEB项目目录结构 – 不可能被劝退的新手

    WEB项目目录结构 转载内容 简单版. com. hkls 公司域名倒写 com. hkls. dao dao […]...

  8. 使用putty从linux主机上面往windows主机下面拷贝文件 – AllenZhao

    使用putty从linux主机上面往windows主机下面拷贝文件         更新一下,把putty的包 […]...

随机推荐

  1. 2014年上半年《中学教育教学知识与能力》真题–解析

    2014年上半年《中学教育教学知识与能力》真题—解析   一、单选题   1,人类的教育活动与动物 […]...

  2. QQ、淘宝、阿里旺旺在线网页链接代码及详解 很实用

    你可直接到官网去生成代码,简单、方便,相信都能上网的你,对这不会有难度的,认识字的就行,赶紧去吧!   1、阿 […]...

  3. Android开发颜色大全

    <!-- dialog背景颜色 --> <color name="transparent"& […]...

  4. python 实现google 在线中英文翻译

    google 在线翻译实现(注意:油枪)   import requests import execjs # […]...

  5. 一流设计师导航|16map,一款强大且智能的设计师导航网站

    相信每个设计师都有寻找素材的烦恼,有时候设计时思路不清晰,不知如何表达主题。其实, 多看,多操作,时间长了,自 […]...

  6. WebApi 基于token的多平台身份认证架构设计

    1   概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。 随着移动互联网时代到来,客户端的类型 […]...

  7. 如何进行iPhone数据恢复

    还在寻找一款简单好用的iPhone数据恢复工具吗?Joyoshare iPhone Data Recovery […]...

  8. Mysql中Explain详解

    为什么80%的码农都做不了架构师?>>>    当我们使用索引的时候,通常会用explain […]...

展开目录

目录导航