MySQL分区表有哪些知识点?
MySQL分区表
1)分区类型
?范围:范围应该是连续的但不重叠,使用 VALUESLESS THAN 运算符定义。
?LIST:与按 RANGE 分区一样,必须显式定义每个分区。
?HASH:对要插入表中的行的列值进行操作。
? KEY:与HASH类似,只不过只提供一列或多列进行评估,并且散列函数由MySQL服务器提供。它适用于所有允许的列类型。
?COLUMNS:RANGE 和 LIST 分区的变体。 COLUMNS 分区允许使用一个或多个列分区键中的 umns。在将行放入分区并确定将检查哪些分区以匹配分区删除中的行时,会考虑所有这些列。
-RANGE COLUMNS 和 LISTCOLUMNS 分区支持使用非整数列(以及前面列出的其他数据类型)来定义值范围或列表成员。
? LINEAR:MySQL 还支持线性哈希,这与常规哈希不同。线性哈希使用 2 的线性幂算法,而常规哈希使用哈希函数值的模。
2)确认服务器是否支持分区
Mysql>show plugins \G
名称:分区
状态:ACTIVE p >
类型:存储引擎
库:NULL
许可证:PROPRIETARY
禁用分区支持:
shell> mysqld - -skip-partition
–分区插件现在的值已禁用
3) 创建分区
(root@localhost) [mydb1]> createtable tt(f1 int ,f2 varchar(20)) 部分离子范围(f1)
(
分区tt_p1值小于(100),
分区tt_p2值小于(1000),
分区tt_p2值小于(1000), p>
分区tt_p3值小于(10000),
分区tt_p4值小于(maxvalue)
)
4) 查看表格分区分区
(root@localhost) [mydb1]> showcreate table tt;
(root@localhost) [mydb1]> showtable status like 'tt' \G;
(root@localhost)[mydb1]> selecttable_name ,group_concat(partition_name) pn from information_schema.partitionswhere table_schema='mydb1' group by table_name;
+--------- -------+------------------------+
|表名 | pn |
+------------+----------------- --------+< /p>
| TT | tt_p1,tt_p2,tt_p3,tt_p4 |
+------------+-- ---------------------- ----+
(root@localhost) [mydb1]>解释分区 SELECT * FROM tt \G p>
**************** ************** 1. 行******************** ************< /p>
bsp; id:1
select_type:SIMPLE
表:tt
分区:tt_p1、tt_p2、tt_p3、tt_p4
类型:全部
可能的键:NULL
键:1
已过滤:100.00
额外:NULL
集合中 1 行,2 条警告(0.00 秒)
5) 分区限制
?常规
–每个表的最大分区数为8192。
–不支持空间类型。
——临时表不能分区。
–日志表无法分区。
外键和索引
–不支持外键。
–不支持全文索引。
——没有全局索引:每个分区都有自己的索引。
?仅在以下情况下才可能进行子分区:
– 通过 RANGE 和 LIST 进行分区时。
——通过 LINEARHASH 或 LINEARKEY 执行时。
《MySQL分区表有哪些知识点》已经介绍到这里了。感谢您的阅读。如果 y想了解更多行业资讯,可以关注网站,小编将为大家输出更多优质实用文章!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > MySQL分区表有哪些知识点?