MySQL——分表,分库操作
mysql 操作 分表 分库
2023-09-14 09:12:39 时间
说明
大数据量并且访问频繁的表,将其分为若干个表。如果不分的话,进行一次查询就会将表锁住,导致不能进行其他操作,故分表。
表分割
垂直分割应用场景:热数据放一个表里,冷数据放一个表里。冷数据使用MyIsam 可以有更好的查询数据。活跃数据,可以使用Innodb ,可以有更好的更新速度。对于一些特殊的活跃数据,也可以考虑使用memcache ,redis之类的缓存,等累计到一定量再去更新数据库。垂直分割数据行数一样,但是表结构不一样,实现起来也简单。
水平分割应用场景:一个100万行数据的表,可以分成100个1万行数据的表,水平分割表的结构都一样的,数据的行数有可能不一样。
原理很简单
使用merge存储引擎实现水平分割
一般我们建表用的都是InnoDB引擎,在分表时就需要使用其他的。
步骤:1.创建一个user1表,ENGINE=MyISAM。
2.创建一个结构相同的的user2表,ENGINE=MyISAM。
3.创建一个user表,ENGINE=MRG_MYISAM,并联合user1和user2
如果使用navicat工具的话,选择一下就好
对应的sql语句
//创建表user1
CREATE TABLE `user1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
//创建表user2
CREATE TABLE `user2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
//创建表user
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 UNION=(`user1`,`user2`);
作用
user表作为只读的表,可以进行查询,并不妨碍我们对user1和user2进行查询操作。
相关文章
- MySQL宕机恢复:实战指南(mysql宕机恢复)
- MySQL中快速回滚删除操作(mysql删除回滚)
- 复制【MySQL停止主从复制:操作指南】(mysql停止主从)
- 【MySQL索引提升查询性能】(mysql索引mul)
- MySQL新建用户及权限设置(mysql创建一个用户)
- Mysql多表联查实战:提升数据查询效率(mysql多表联查)
- 掌握 VBA 连接 MySQL 技巧!(vba连接mysql)
- MySQL 操作指南:快速学习入门(mysql操作指南)
- MySQL中的二进制数据存储与管理(mysql二进制数据)
- 轻松安装绿色版MySQL,操作更简便(绿色版的mysql安装)
- C如何完成对MySQL的操作(c操作mysql)
- MySQL自动补齐日期:快速操作,节省时间!(mysql补齐日期)
- 利用MySQL外键约束实现数据完整性(mysql外键约束创建)
- 连接MySQL数据库的CMD命令操作指南(cmd连接mysql命令)
- MySQL查询 按时间排序结果(mysql查询按时间排序)
- MySQL用户:失去的机会(mysql用户丢失了)
- MySQL 中的日期操作简明详解(mysql日期操作)
- 如何在 MySQL 中选择指定库?(mysql选择库)
- MySQL 语句变量:提升数据操作效率的利器(mysql语句变量)
- 尽在掌握:MySQL数据库完整指南(mysql大全)
- MySQL恢复数据库:简单有效的命令操作(mysql恢复数据库命令)
- MySQL简明入门:学习基础操作必备(mysql 基本教程)
- MySQL权限修改操作简单,提高数据安全(mysql中修改权限)
- MySQL使用语句查询数据(mysql中使用语句吗)
- MySQL事务分类详解原子性与隔离性(mysql中事物的分类)
- MySQL中操作表t的一些技巧(mysql中t表)
- 25字中文文章标题MySQL高级操作深入了解G系列函数的使用方法(mysql中 g如何使用)
- 用CMD快速操作MySQL语句,提升效率(cmd操作mysql语句)
- 解决24个MySQL索引问题,找到更高效的数据库操作(24个mysql索引问题)
- MySQL下载ZIP包,解压安装教程(mysql下载的是zip)
- MySQL数据库胜任亿级记录存储(mysql 上亿条记录)
- MySQL数据库的三视图简介及用法(mysql三视图)