草稿丢失,发表得不完整,稍后重新整理
mysql表分区技术能有效解决水平拆分和垂直拆分的不足,可操作性和效率都更优。以下是一些实验总结。
InnoDB引擎需先在配置文件中设置:,
。
,主表。par保存分区信息,,和分区数目一致的.MYD文件,用于
,
CREATE TABLE bc (
id INT NOT NULL AUTO_INCREMENT
par_no INT NOT NULL默认& # 39;1 & # 39;,
a_name CHAR (20) NOT NULL,
主键(id、par_no))引擎=MYISAM CHARSET=gbk分区的列表(par_no) (
分区p0值(10年,20年,30),
分区(40、50、60)中的值p1, p2
分区值(70、80100));
[root@master测试]# dir nb * p
nb.frmnb.parnb # # p0.MYD, nb # # p0 p。MYI, nb # P # p1。MYD, nb # P # p1。MYI, nb # # p2 P。MYD, nb # # p2 P。MYI nb # P # p3。MYD, nb # P # p3.MYInb # # p4。MYD nb # P # p4。MYI
提示警告:意思大概mysql分区以后的版本不支持myisam引擎吧,换成innodb就可以了。
警告代码:1287
分区引擎,使用的表& # 39;test.bc& # 39;,弃用,在将来的版本将被删除。请使用本地分区。
散列分区:
CREATE TABLE nb (
id INT NOT NULL AUTO_INCREMENT
par_no INT NOT NULL默认& # 39;1 & # 39;,
a_name CHAR (20) NOT NULL,
主键(id、par_no))=MYISAM引擎CHARSET=gbk分区通过散列(id)
分区5;,,,,,——分区多了个年代,让mysql自动id的散列值存储到5个分区里。
查询分区表中存在的数据量:
选择PARTITION_NAME PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_DESCRIPTION, TABLE_ROWS, SUBPARTITION_NAME, SUBPARTITION_METHOD, SUBPARTITION_EXPRESSION 从information_schema
。分区模式()和TABLE_NAME TABLE_SCHEMA==& # 39; bcd # 39;