300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Mysql分区表为什么唯一键必须添加分区字段

Mysql分区表为什么唯一键必须添加分区字段

时间:2020-11-28 01:34:33

相关推荐

Mysql分区表为什么唯一键必须添加分区字段

Hi,all:

我们从昨天开始纠结,为什么MySQL的分区表中唯一键必须加上分区字段?

以主键ID为例。

我们陷入了误区就是,我们一直认为加了分区字段前ID是唯一,加了分区字段后ID还是唯一的?

我们忽略的一点是,我们的表结构变了,索引结构变了,现在的唯一键并不能保证之前的字段是唯一的了,换句话说就是,Mysql的分区表并不能保证单字段唯一。

原因是MySQL的分区表索引都是local的(在Oracle中,local也不要能保证全局唯一)。

所以,MySQL希望你做妥协,要么,你唯一索引去掉,这样你分区表随便建,要么,你把分区键加进之前的唯一索引中,这样MySQL能保证组合唯一。

因为Oracle的索引以及表的物理存储和MySQL不一样。所以,Oracle普通的索引依然能保证单字段唯一,因为Oracle的普通索引不是local的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。