MySQL数据库表的合并与分区实现介绍
2023-06-13 09:19:58 时间
从速度方面考虑,要选择固定的列,可以使用CHAR类型
要节省空间,使用动态的列,可以使用VARCHAR类型
要将列中的内容限制为一种选择,可以使用ENUM类型
允许在一列中有多个条目,可以使用SET类型
如果要搜索的内容不区分大小写,可以使用TEXT类型
如果要搜索的内容区分大小写,可以使用BLOB类型
id .
)engine=merge unique=(table1,table2); 数据库表分区
id int(10) primary key auto_increment,
score int(3)
)engine=innodb default charset=utf8 partition by range(score)(
//根据score字段分区,score小于60的在p1分区
partition p1 values less than(60),
//根据score字段分区,score小于70的在p2 分区
partition p2 values less than(70),
//根据score字段分区,score大于70的在p3 分区
partition p3 values lessthan maxvalue
list分区:第一选择基于某 列的值是否属于某个 集合 create table test1(
id int(10) primary key auto_increment,
branch_id int(3)
)engine=innodb default charset=utf8 partition by list(branch_id )(
//根据branch_id 字段分区,branch_id 在1,2,3之中的为p1分区
partition p1 values less in(1,2,3),
//根据branch_id 字段分区,branch_id 在7,8,9 之中的为p2分区
partition p2 values less in(7,8,9)
hash分区:支持数值类型
根据birthda字段获取月份,再根据月份进行分区储存,一共分12个区;
create table test1(
id int(10) primary key auto_increment,
birthday date
)engine=innodb default charset=utf8 partition by hash(month(birthday)) partitions 12;
branch_id int(3)
)engine=innodb default charset=utf8 partition by linear hash (branch_id ) partitions 5; key分区:可以计算一列或者多列进行分区
根据branch_id字段进行分区储存,一共分5个区;
create table test1(
id int(10) primary key auto_increment,
branch_id int(3)
)engine=innodb default charset=utf8 partition by key (branch_id ) partitions 5;
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL数据库表的合并与分区实现介绍
创建数据表其实就是在已经创建好的数据库中建立新表。
数据表属于数据库,在创建数据表之前,应该使用语句
use 数据库名 //表明使用哪个数据库。
如果你没有选择数据库的话,MySQL会抛出No database selected 的错误提示
创建数据表的语句为:
create table 数据表名称(
字段名1 数据类型 [完整约束条件] [默认值],
字段名2 数据类型 [完整约束条件] [默认值],
字段名3 数据类型 [完整约束条件] [默认值],
)
数据表名称 是创建数据表的名字。 字段名 是数据表的列名, 完整性约束条件 是字段的特殊约束条件
使用create table 创建表时,必须指定以下信息:
数据表名不区分大小写,且不能使用SQL中的关键字,如DROP,INSERT等。
如果数据表中有多个字段(列),字段(列)的名称和数据类型要用英文逗号隔开。
数据库表合并合并表:把多个结果相同的的表合并为一个容器。
容器的类型:Myisam,存储引擎:merge
存在的问题:有重复的行
create table packtable(id .
)engine=merge unique=(table1,table2); 数据库表分区
表的分区:
水平分区:根据某个字段进行分区(RANGE分区) create table test1(id int(10) primary key auto_increment,
score int(3)
)engine=innodb default charset=utf8 partition by range(score)(
//根据score字段分区,score小于60的在p1分区
partition p1 values less than(60),
//根据score字段分区,score小于70的在p2 分区
partition p2 values less than(70),
//根据score字段分区,score大于70的在p3 分区
partition p3 values lessthan maxvalue
list分区:第一选择基于某 列的值是否属于某个 集合 create table test1(
id int(10) primary key auto_increment,
branch_id int(3)
)engine=innodb default charset=utf8 partition by list(branch_id )(
//根据branch_id 字段分区,branch_id 在1,2,3之中的为p1分区
partition p1 values less in(1,2,3),
//根据branch_id 字段分区,branch_id 在7,8,9 之中的为p2分区
partition p2 values less in(7,8,9)
hash分区:支持数值类型
根据birthda字段获取月份,再根据月份进行分区储存,一共分12个区;
create table test1(
id int(10) primary key auto_increment,
birthday date
)engine=innodb default charset=utf8 partition by hash(month(birthday)) partitions 12;
branch_id int(3)
)engine=innodb default charset=utf8 partition by linear hash (branch_id ) partitions 5; key分区:可以计算一列或者多列进行分区
根据branch_id字段进行分区储存,一共分5个区;
create table test1(
id int(10) primary key auto_increment,
branch_id int(3)
)engine=innodb default charset=utf8 partition by key (branch_id ) partitions 5;
到此这篇关于MySQL数据库表的合并与分区实现介绍的文章就介绍到这了,更多相关MySQL数据库表内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL数据库表的合并与分区实现介绍
相关文章
- 头歌MySQL数据库实训答案 有目录[通俗易懂]
- MySQL数据库端口号简介(mysql数据库端口号)
- Linux系统下MySQL安装指南(linux安装mysql步骤)
- MySQL:一种关系型数据库管理系统(mysql是什么类型的数据库)
- 数据库一步步操作,完全删除MySQL数据库(完全删除mysql)
- VS如何连接MySQL数据库(vs怎么连接mysql)
- 符MYSQL存储换行符的技巧及应用(mysql存储换行)
- 深入探索MySQL:查看User表(mysql查看user表)
- 安装Python MySQL驱动之快速指南(python安装mysql驱动)
- 实现dmp资料快速导入MySQL(dmp导入mysql)
- Lua编程与MySQL数据库:实现最佳性能(luamysql)
- MySQL中GUID的使用及默认设置(mysql默认guid)
- MySQL数据库在网页开发中的应用(网页mysql数据库)
- 太阳: 收购 MySQL 数据库公司(sun收购mysql)
- PHP实现MySQL表格删除(php删除mysql表)
- 使用MySQL关系图工具搭建数据库架构(mysql关系图工具)
- 优化查询性能:掌握MySQL命中索引技巧(mysql命中索引)
- 如何使用HTML5连接MySQL数据库:同步数据更加高效和安全。(html5连接mysql数据库)
- MySQL如何修改表的字符集(mysql修改表字符集)
- MySQL 实现自动递增的好处(mysql 实现自增)
- MySQL数据库:一键完成批量修改(mysql数据库批量修改)
- MySQL命令快速建立数据库(mysql 命令建数据库)
- 使用 Cmd 中的 Mysql 命令管理数据库(cmd下mysql命令)
- MySQL 数据库中如何使用分组计数(mysql中分组计数)
- MySQL中和的区别及使用方法(mysql 不等号区别)
- MySQL实现两数字相减方法简介(mysql 两数字相减)