8

是否可以添加一个约束,例如

ALTER TABLE `t1` ADD UNIQUE(`col1`, `col2`);

不创建索引?该索引不会用于任何查询,因此会浪费空间。

如果插入和更新速度较慢,那将不是问题,因为表不会经常更新。

4

1 回答 1

11

不,这是不可能的。一个UNIQUE 约束包含一个索引定义,我几乎无法想象在不创建索引的情况下如何实现它(用 DBMS 术语)。

您应该意识到索引不仅仅是“向导”——它们是一个真正的数据结构,需要放置空间、处理特殊过程等。唯一约束本身意味着唯一的索引值,而不是唯一的列值。

于 2013-11-11T13:41:52.753 回答