1.分表的原因
单表记录条数达到百万到千万级别时就要使用分表了,分表的目的就在于此,减小数据库的负担,缩短查询时间.
2分表的类型
* 垂直分表
将主码和一些列放到一个表,将主码和另一些列放到另一个表
应用场景:博客系统
文章标题,作者,分类,创建时间等,是变化频率慢,查询次数多,而且最好有很好的实时性的数据,
我们把它叫做冷数据。
而博客的浏览量,回复数等,类似的统计信息,或者别的变化频率比较高的数据,我们把它叫做活跃数据。
(其实在设计表时有时就会这样一对一的设计,不会在后来把大表垂直分割)
* 水平分表
当表数据很大的时候,通过横向切割来降低每个单表的压力,来提高性能
* 1,实现预见到会有大量的数据,使用MD5 (代码改动大,效果好,扩展性比集群好)
* 2,可以使用存储引擎(merge)建表 扩展性比MD5好,代码改动小,效果上没有MD5好
create table u1(
id int not null
)engine=myisam;
create table u2(
id int not null
)engine=myisam;
create table u(
id int not null
)engine=merge union=(u1,u2);
如果原来表u就有大量的数据
* 对表进行备份 mysqldump -u用户 -p密码 -hIP -l -F 库 > 入径名例 d:/text.sql
* insert into u1 select * from u where id < ? ...
* 删除主表
但是当给表添加或更新数据时,就要判断到那个表去添加或更新,在编写程序是就要有业务逻辑的判断,比如用户和商品表
都有很多数据,都对他们进行分表,在编写程序时,就要有很多的逻辑,在人力上就有很大的支出。
分享到:
相关推荐
MySQL分表及分表后插入sql语句,表为订单表,可以参考一下
mysql分表分库demo
MySQL分表和分区最佳攻略 word版本,
Node.js 实现的 MySQL 分表分库中间件,用于海量数据的分布式集群储存管理和高并发访问。
解决Dolphinscheduler中从Mysql同步分表数据至Doris或者PG库的问题
关于mysql的分表技术实现方法。以及分表设计, 及简单的代码实例。
常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致...分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。
Python+MySQL分表分库实战,适合对MySQL 分库分表感兴趣的读者。
Python与MySQL分表分库实战,压缩包文件,欢迎下载。11
mysql分表分库-mysqlfenbaiofenku
基于hibernate的mysql分表分库实例-mysql-cluster-hibernate
Mysql分表分库-core-dbshard2
Node.js 的 MySQL 分表分库数据访问中间件,实现MySQL数据的分布式集群储存管理。在处理海量数据、高并发访问时,获得更加优越的性能及横向扩展能力。它包含以下主要特性: 可伸缩、高扩展的架构 ...
mysql分表,分区的区别与联系借鉴.pdf
mysql分表,分区的区别与联系归类.pdf
mysql分表,分区的区别与联系[定义].pdf
分表是一种数据库分割技术,用于将大表拆分成多个小表,以提高数据库的性能和可管理性。在MySQL中,可以使用多种方法进行分表,例如基于范围、哈希或列表等...下面将详细介绍MySQL如何分表以及分表后如何进行数据查询。
主要介绍了MySQL分表和分区的具体实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Python后端运维工程师的可靠参考书,重点介绍如何优化mysql数据库性能。