丢弃表格的唯一键是否会影响生产中的任何问题?

时间:2017-04-18 15:31:39

标签: mysql

我将在我的问题上进行一些阐述,如果我在生产中有一个实时数据库,并且我想从其中一个表中删除一个唯一键,无论是非复合唯一键还是复合键,这会造成任何问题吗?

我认为这不应该造成任何问题,但我想在这里与数据库专家仔细核对。

至于复合唯一键问题,我想删除它,因为我想为该复合唯一键添加一个新列。

所以这个:

UNIQUE KEY `composite_key` (`username`, `email`),

成为这个:

UNIQUE KEY `composite_key` (`username`, `email`, `age`),

有没有办法来"添加"复合唯一键的列?或者我先删除它,然后定义/添加由这3个新列组成的新唯一键?再说一次,如果我这样做会有问题吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果执行依赖于密钥的查询,则在删除旧密钥和添加新密钥之间的期间可能会出现性能问题。但除此之外,我认为它应该是安全的。如果外键需要密钥,我怀疑(或至少希望)它不会允许你将其删除。

您可以先添加新密钥(您必须为其添加不同的名称),然后删除旧密钥,而不是删除旧密钥然后添加新密钥。唯一的缺点是重叠期间存储量增加。