MySQL分区表有哪些知识点
发布时间:2021-12-17 11:27:52 所属栏目:MySql教程 来源:互联网
导读:本篇内容介绍了MySQL分区表有哪些知识点的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! MySQL分区表 1) 分区类型 ? RANGE:范围应该连续但不重叠,
本篇内容介绍了“MySQL分区表有哪些知识点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! MySQL分区表 1) 分区类型 ? RANGE:范围应该连续但不重叠,使用VALUES LESS THAN 运算符进行定义。 ? LIST:像在由RANGE 进行分区一样,必须显式定义每个分区。 ? HASH:对要插入表中的行的列值进行操作。 ? KEY:与HASH 类似,不同之处在于仅提供要评估的一个或多个列并且MySQL 服务器提供散列函数。它适用于所有允许的列类型。 ? COLUMNS:RANGE 和LIST 分区上的变体。COLUMNS 分区允许在分区键中使用一个或多个列。在以下情况时将考虑所有这些列:将行放入分区中,以及确定将检查哪些分区来匹配分区删改中的行。 - RANGE COLUMNS 和LIST COLUMNS 分区支持使用非整数列(以及前面列出的其他数据类型)来定义值范围或列表成员。 ? LINEAR:MySQL 还支持线性散列,其不同于常规散列,线性散列使用线性2 的幂算法,而常规散列使用散列函数值的模。 2) 确认服务器是否支持分区 Mysql>show plugins G Name: partition Status: ACTIVE Type: STORAGE ENGINE Library: NULL License: PROPRIETARY 禁用分区支持: shell> mysqld --skip-partition – partition 插件现在具有值DISABLED 3) 创建分区 (root@localhost) [mydb1]> create table tt(f1 int,f2 varchar(20)) partition by range(f1) ( partition tt_p1 values less than(100), partition tt_p2 values less than(1000), partition tt_p3 values less than(10000), partition tt_p4 values less than(maxvalue) ) 4) 查看表分区分区 (root@localhost) [mydb1]> show create table tt; (root@localhost) [mydb1]> show table status like 'tt' G; (root@localhost)[mydb1]> select table_name ,group_concat(partition_name) pn from information_schema.partitions where table_schema='mydb1' group by table_name; +------------+-------------------------+ | table_name | pn | +------------+-------------------------+ | tt | tt_p1,tt_p2,tt_p3,tt_p4 | +------------+-------------------------+ (root@localhost) [mydb1]> EXPLAIN PARTITIONS SELECT * FROM tt G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: tt partitions: tt_p1,tt_p2,tt_p3,tt_p4 type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 1 filtered: 100.00 Extra: NULL 1 row in set, 2 warnings (0.00 sec) 5) 分区限制 ?常规 –每个表的最大分区数为8192。 –不支持空间类型。 –不能对临时表进行分区。 –不能对日志表进行分区。 ?外键和索引 –不支持外键。 –不支持FULLTEXT 索引。 –无全局索引:每个分区都有各自的索引。 ?仅可能在以下情况下进行子分区: –通过RANGE 和LIST 进行分区时。 –通过LINEAR HASH 或LINEAR KEY 进行时。 “MySQL分区表有哪些知识点”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章! (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐