博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习mysql水平分区和实践笔记
阅读量:5251 次
发布时间:2019-06-14

本文共 1877 字,大约阅读时间需要 6 分钟。

SHOW PLUGINS; sql 可以查看partitionStatus 是否是ACTIVE

使用mydatetime 进行水平分区案例:

CREATE TABLE test_users (    `id` INT (10) NOT NULL AUTO_INCREMENT,    `mydatetime` datetime NOT NULL,    `email` VARCHAR (255) NOT NULL,    UNIQUE INDEX (`email`),    PRIMARY KEY (`id`));-- 如果表已创建时的操作-- 修改主键的类型ALTER TABLE test_users CHANGE COLUMN `id` `id` INT (10) UNSIGNED NOT NULL;-- 删除主键ALTER TABLE test_users DROP PRIMARY KEY;-- 将 主键id和分区字段mydatetime 同作为主键ALTER TABLE test_users ADD PRIMARY KEY (id, mydatetime);-- 给主机 id 加上 自动增长ALTER TABLE test_users CHANGE COLUMN `id` `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT;-- 删除索引 emailALTER TABLE test_users DROP INDEX email;-- 将 email和mydatetime字段 同作为名为 email的唯一索引ALTER TABLE test_users ADD UNIQUE KEY `email` (email, mydatetime);-- 根据 mydatetime的日期值,将小于 2018-12-31放在 p1,小于2019-06-30放在p2,小于最大值的放在p8分区,名字是自己定义的alter table test_users PARTITION by range(TO_DAYS(mydatetime))(    PARTITION p1 VALUES LESS THAN (TO_DAYS('2018-12-31')),    PARTITION p2 VALUES LESS THAN (TO_DAYS('2019-06-30')),    PARTITION p8 VALUES LESS THAN MAXVALUE );-- 分析查询语句,测试分区是否有用EXPLAIN SELECT * FROM test_users WHERE mydatetime <= '2019-07-01';

[Err]1503 - A UNIQUE INDEX must include all columns in the table's partitioning function[Err] 1486 - Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed

尝试1:

[Err] 1503 - A PRIMARY KEY must include all columns in the table's partitioning function

主键需要包含分区的字段

尝试了将原来的主键删除掉,然后再重新创建一个组合主键

[Err]1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

删除主键失败

依次执行下列的sql

ALTER TABLE test_table CHANGE COLUMN `id` `id` int(10) unsigned NOT NULL ;ALTER TABLE test_table DROP PRIMARY KEY; #删除主键ALTER TABLE test_table add PRIMARY KEY(id); #添加主键
References
  1. 需要和主键,分区的字段作为一个unique keyi进行处理
  2. mysql [err] 1075

转载于:https://www.cnblogs.com/fsong/p/11258947.html

你可能感兴趣的文章
Symfony 2.3 使用CDN加速静态文件
查看>>
数据类型的转换
查看>>
数论专题总结
查看>>
vue自定义指令
查看>>
梯度下降算法Python简单试验
查看>>
实现xml和xaml数据双向绑定的问题
查看>>
Modbus Poll :Byte Missing Error或CRC Error
查看>>
C++ 中常见预定义宏的使用
查看>>
架构师带你玩转分布式锁
查看>>
POJ--2158--------------Milking Grid(最小覆盖字符矩阵)---(开二维kmp)
查看>>
0008-常用选择器-前端学习笔记
查看>>
将SqlCe/sql server 转sqlite
查看>>
maven generating project in batch mode hang
查看>>
python 列表排序方法sort、sorted技巧篇
查看>>
jdbc程序编写 d7
查看>>
Spring 使用介绍(一)—— 概述
查看>>
Oracle dblink的说明和简单使用
查看>>
How to Remove Table Partitioning in SQL Server
查看>>
Linux 开发备忘
查看>>
Zabbix报错信息及遇到的问题
查看>>