首页 >

MySQL现有表分表 |查看mysql日志存放目录

mysql 判断变量类型,mysql大表在,MySQL安卓版下载,mysql单实例表数,mysql 如何查询结果,查看mysql日志存放目录MySQL现有表分表 |查看mysql日志存放目录

MySQL对于表的拆分有两种方式,一种是垂直分表(Vertical partitioning),另一种是水平分表(Horizontal partitioning)。垂直分表是将一个表拆分成多个表,每个表只包含某个列或者列的子集,旨在将列相互关联性较小的列分离出来。而水平分表则是将一个表拆分成多个表,每个表包含相同的列,但是数据行不同,旨在将数据行分离出来。

-- 创建原始表
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

假设大家有一个名为user的表,包含id、name、email和phone等列,现有两种方式对其进行分表。

垂直分表

-- 创建垂直分表1,包含id和name列
CREATE TABLE `user1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 创建垂直分表2,包含id和email列
CREATE TABLE `user2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 创建垂直分表3,包含id和phone列
CREATE TABLE `user3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在垂直分表中,大家将原始表的列分离成不同的表中,每个表只包含一个或多个列,这样做的好处是可以减少表的列数,提高对列的访问效率。

水平分表

-- 创建水平分表1,包含id在1到100之间的数据
CREATE TABLE `user1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 创建水平分表2,包含id在101到200之间的数据
CREATE TABLE `user2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 创建水平分表3,包含id在201到300之间的数据
CREATE TABLE `user3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在水平分表中,大家将原始表的数据行分离到不同的表中,每个表包含相同的列,但数据行不同,这样做的好处是可以分散数据存储,提高管理效率和查询速度。

总之,MySQL的表分表可以充分利用数据库优势,提高大数据处理效率,同时也需要在实际应用中根据具体情况选择合适的分表方式。


MySQL现有表分表 |查看mysql日志存放目录
  • mysql 函数 和 存储过程的区别 |update 效率 mysql
  • mysql 函数 和 存储过程的区别 |update 效率 mysql | mysql 函数 和 存储过程的区别 |update 效率 mysql ...

    MySQL现有表分表 |查看mysql日志存放目录
  • MySQL数据库拼接函数详解 |mysql pid未找到
  • MySQL数据库拼接函数详解 |mysql pid未找到 | MySQL数据库拼接函数详解 |mysql pid未找到 ...

    MySQL现有表分表 |查看mysql日志存放目录
  • mysql 打开数据库文件 |查看mysql 导出的路径
  • mysql 打开数据库文件 |查看mysql 导出的路径 | mysql 打开数据库文件 |查看mysql 导出的路径 ...