[分享]Mysql分区表对于唯一约束的局限性_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1709 | 回复: 0   主题: [分享]Mysql分区表对于唯一约束的局限性        下一篇 
sysbobo
注册用户
等级:新兵
经验:46
发帖:66
精华:0
注册:2012-2-21
状态:离线
发送短消息息给sysbobo 加好友    发送短消息息给sysbobo 发消息
发表于: IP:您无权察看 2014-12-15 8:51:15 | [全部帖] [楼主帖] 楼主

Mysql分区表相信大家都有一些了解,下面就为您介绍Mysql分区表对于唯一约束的局限性,如果您对此方面感兴趣的话源码天空,不妨一看。

Mysql分区表关于Partitioning Keys, Primary Keys, and Unique Keys的限制

在5.1中Mysql分区表对唯一约束有明确的规定,每一个唯一约束必须包含在分区表的分区键(也包括主键约束)。
这句话也许不好理解,我们做几个实验:

CREATE TABLE t1
(      id INT NOT NULL,
uid INT NOT NULL,
PRIMARY KEY (id)
)
PARTITION BY RANGE (id)
(PARTITION p0 VALUES LESS THAN(5) ENGINE = INNODB,
PARTITION p1 VALUES LESS THAN(10) ENGINE = INNODB);
CREATE TABLE t1
(      id INT NOT NULL,
uid INT NOT NULL,
PRIMARY KEY (id)
)
PARTITION BY RANGE (id)
(PARTITION p0 VALUES LESS THAN(5) ENGINE = MyISAM DATA DIRECTORY='/tmp' INDEX DIRECTORY='/tmp',
PARTITION p1 VALUES LESS THAN(10) ENGINE = MyISAM DATA DIRECTORY='/tmp' INDEX DIRECTORY='/tmp');
mysql> CREATE TABLE t1
-> (      id INT NOT NULL,
->        uid INT NOT NULL,
->        PRIMARY KEY (id),
->        UNIQUE KEY (uid)
-> )
-> PARTITION BY RANGE (id)
-> (PARTITION p0 VALUES LESS THAN(5),
->  PARTITION p1 VALUES LESS THAN(10)
-> );ERROR 1503 (HY000): A UNIQUE INDEX must include all columns in the table's partitioning function


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论