美文网首页
数据库分表

数据库分表

作者: 一块大西瓜 | 来源:发表于2019-02-27 18:23 被阅读0次

在什么情况下会进行数据库分表

分表主要是为了解决数据库的压力,你可以选择放在一个数据库里 也可以放到另外的数据库里。单表记录条数达到百万千万级别时候就需要使用分表

分表的类别

分表一般是横向分表和纵向分表

纵向分表

简单的说是竖着将表切割。也就是将一个表的字段分到多个表中

可以根据数据的活跃度,一个表内不是所有的数据字段都是常用字段 

例如:博客系统

文章标题     文章    分类    创建时间等这些都是变化频率比较慢,但是查询的次数比较多,而且最好是实时的数据。这种数据我们称为  冷数据

而博客的浏览量,回复数 点赞数 这种类似于统计的信息 或者别的变化频率比较高的数据 我们称为   活跃数据

所以在进行数据库结构的设计时,首先考虑分表

分表之后可以按照不同的需求使用不同的搜索引擎

冷数据的处理可以使用MyIsam  这样可以有更好的数据查询体验

活跃数据可以使用Innodb 可以有更快的更新速度

其次对于冷数据进行更多的从库配置,因为更多的操作查询 可以加快查询速度

对于热数据可以采取横向分表(冷热数据的区别)

对于一些特殊的活跃数据 可以使用memcache redis 之类缓存 等几类到一定的量再去更新数据库(考虑下断电情况)

横向分表

和上面纵向分表一样,横向分表就是同样的数据

同样的表结构  拆成两份或者其他的纬度保存

分表理由就比较简单,因为要保证单表的大小不会过大 影响查询等处理能力

在查询值上做功夫有针对表,不至于一个表查没有,再去查另一个表

相关文章

  • Java高并发-数据库切库、分库、分表

    数据库瓶颈: 多个数据源的支持 横向(水平)分表纵向(垂直)分表数据分表:mybatis分表插件sharebati...

  • 19 高并发之数据库切库 分库 分表

    数据库瓶颈: 多个数据源的支持 横向(水平)分表纵向(垂直)分表数据分表:mybatis分表插件sharebati...

  • Mysql的分库分表,水平拆分-垂直拆分

    参考文章MySQL分库分表总结参考数据库分库分表策略,如何分库,如何分表?MySQL分库分表原理 MySQL单库数...

  • 2020年PHP最新面试题(含答案)

    1. 数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?什么是数据库垂直拆分?水...

  • Mycat2学习2-概念

    1.概念 分库分表 按照一定规则把数据库中的表拆分为多个带有数据库实例,物理库,物理表访问路径的分表。解读:分库:...

  • MySQL分库分表

    1 分库分表之MyCat实现 1.1 分库分表介绍 前提:当你们的数据库表数据特别大时,比如说上亿的记录,数据库本...

  • 分库分表

    数据库分表可以解决单表海量数据的查询性能问题,分库可以解决单台数据库的并发访问压力问题。 分库分表目前有很多的中间...

  • 数据库分表

    在什么情况下会进行数据库分表 分表主要是为了解决数据库的压力,你可以选择放在一个数据库里 也可以放到另外的数据库里...

  • (转载)MySQL数据库之互联网常用分库分表方案

    MySQL数据库之互联网常用分库分表方案 一、数据库瓶颈 1、IO瓶颈 2、CPU瓶颈 二、分库分表 1、水平分库...

  • 015 为什么要分表分库

    为什么要分表分库 分表分库一般会在以下情况下出现: 一、数据库本身的性能瓶颈 单机数据库的存储容量限制 单机数据库...

网友评论

      本文标题:数据库分表

      本文链接:https://www.haomeiwen.com/subject/zqofuqtx.html