一分钟系列

潜在场景如何?

当MySQL单表的数据量过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”。

MySQL常见的水平切分方案有哪些?

(1)分库分表;

(2)分区表。

画外音:我C,没听过分区表,有朋友惊叹。

什么是分库分表?

把一个很大的库(表)的数据分到几个库(表)中,每个库(表)的结构都相同,但他们可以分布在不同的MySQL实例,甚至不同的物理机器上,以达到降低单库(表)数据量,提高读写性能的目的。

分库分表有什么缺点?

分库分表往往是业务层实施的,分库分表后,往往需要升级系统:

(1)修改某些SQL代码;

(2)丧失某些SQL功能。

什么是分区表?

所有数据,逻辑上还在一个表中,但物理上,可以根据一定的规则放在不同的文件中。这是MySQL5.1之后支持的功能,业务代码无需改动。

分区表看上去很帅气,为什么大部分互联网公司不使用,而更多的选择分库分表来进行水平切分呢?

分区表的一些缺点,是大数据量,高并发量的业务难以接受的:

(1)如果SQL不走分区键,很容易出现全表锁;

(2)在分区表实施关联查询,就是一个灾难;

(3)分库分表,自己掌控业务场景与访问模式,可控;分区表,工程师写了一个SQL,自己无法确定MySQL是怎么玩的,不可控;

画外音:类似于,不要把业务逻辑实现在存储过程,用户自定义函数,触发器里,而要实现在业务代码里一样。

(4)DBA给OP埋坑,容易大打出手,造成同事矛盾;

(5)…

当然,在数据量和并发量不太大,或者按照时间来存储冷热数据或归档数据的一些特定场景下,分区表还是有上场机会的。

画外音:例如,按照时间分区,存储日志。

希望这一分钟有收获。

互联网公司为啥都不用MySQL分区表?相关推荐

  1. 互联网公司为啥不使用mysql分区表?

    缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度.58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表.于是去网上查了一下,并询问了 ...

  2. mfc编写鼠标键盘_黑客为什么都不用鼠标?进来你就懂了!

    在偶然的一天空暇时间,翻看我在某论坛发布的一篇网络渗透概念解析的文章留言.出奇的看到一些好奇萌新的问题,也不知道他们是怎么逛到这些论坛的里面玩耍的: "黑客都是键盘噼里啪吧一顿敲,为啥都不用 ...

  3. mysql分区表的好处_浅谈MySQL分区表优点和限制

    分区是将一个表的数据按照某种方式,逻辑上仍是一个表,也就是所谓的分区表.分区引入了分区键的概念,分区键用于根据某个区间值(或者范围值).特定值列表或者hash函数值执行数据的聚集,让数据根据规则分布在 ...

  4. mysql 分区表 归档_MySQL分区表

    1,MySQL分区表作用 当单表的数据量较大,需要进行定期的数据归档删除时,或者提高查询性能,都可以采用分区: 2,分区表设置 分区的种类 range分区 list分区 hash分区 key分区 ra ...

  5. mysql 分区表_MySQL 分区分表应用场景分析和分区中可能遇到的坑点

    MySQL的分区和分表应用场景分析 在日常工作中当我们的某张表的数据量过大的时候,首当其冲的可能就是进行分区和分表,但是是如何分区或者分表都要结合一点的业务场景下进行分析,才会显著的提升性能,来聊一聊 ...

  6. Mysql分区表的使用

    简单来说,分区表就是把物理表结构相同的几张表,通过一定算法,组成一张逻辑大表.这种算法叫"分区函数",当前 MySQL 数据库支持的分区函数类型有 RANGE.LIST.HASH. ...

  7. Mysql分区表概述、分区类型、分区管理

    另有一篇简单易懂的好文章帮助学习 Mysql分区表的原理和优缺点以及注意点 一.分区概述 分区是指根据一定的规则,数据库把一个表分解成多个更小的.更容易管理的部分.分区有利于管理非常大的表. MySQ ...

  8. mysql表分区数量限制_详解MySQL分区表的局限和限制的代码实例

    本文对Mysql分区表的局限性做了一些总结,因为个人能力以及测试环境的 原因,有可能有错误的地方,还请大家看到能及时指出,当然有兴趣的朋友可以去官方网站查阅. 禁止构建 分区表达式不支持以下几种构建: ...

  9. mysql表分区备份_ZRM 2.1:备份MySQL分区表

    ZRM 2.1:备份MySQL分区表 MySQL 5.1通常可供生产使用. MySQL 5.1的主要功能之一就是分区. 表分区可以帮助提高性能和可用性. 表可以根据范围(给定范围内的列值),列表(匹配 ...

最新文章

  1. SpringMVC基于框架编写CommDao类---findList
  2. UI设计 - 首页(主页)的任务
  3. 文件服务器在哪里靠谱,vps作为文件服务器靠谱吗
  4. select模型详解
  5. Python 打包 exe 程序避坑指南:没有安装包也能运行小程序啦~开心
  6. Windows环境下使用Mycat模拟分库分表-读写分离案例
  7. java file util_Java FileUploadUtil工具类详解
  8. LoRaWAN协议格式
  9. 远控王 v387 免费
  10. Ubuntu安装cuckoo布谷鸟沙箱详细步骤
  11. 疫苗预约系统,疫苗接种管理系统,疫苗预约管理系统毕设作品
  12. android网络的评分机制、连接国内ap wifi不回连问题
  13. 操作系统 三(存储管理)
  14. 微信3d小游戏(three)-逻辑设计与场景添加
  15. 6月25日科技资讯 |微信解封快手链接;AWS证实宕机;微软公司内部疑禁用Slack
  16. Form 与 form_load
  17. OID科普:物联网OID与互联网域名的区别 | 圣笛数控
  18. Spring集成Day4
  19. Camera常见术语缩写总结
  20. 第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、主码、候选码、码详解

热门文章

  1. nginx禁止对写操作timeout时retry
  2. 2017年 JavaScript 框架回顾 -- 前端框架
  3. jquery 配合 ajax 完成 在线编辑 你值得拥有
  4. 洛谷1006 传纸条
  5. 2009.5.23软考_信息处理技术员 上午试题 答案 讨论
  6. js中WebSocket
  7. VS2017的C++开发心得:头文件的路径问题与属性管理器
  8. Linux内核目录结构(2.6版本以上的kernel)
  9. ubuntu12.04LTS下eclipse indigo版配置opencv2.4.9
  10. yolo3连接网络摄像头实现目标检测命令