2016-07-29 46 views
0

使用唯一约束和触发器来防止MySQL中的重复行之间是否存在性能差异?MySQL约束/触发器,以防止重复的行?

+1

第一个问题应该是:您希望在触发器中执行UNIQUE约束无法实现的操作。如果答案是“什么都不是”,那么就去争取唯一约束。如果答案不同,告诉我们你想达到什么。 –

回答

0

监视它。但是,结果应该是显而易见的。

由于唯一索引存在专门强制执行此约束,它应该是第一选择。

通过使用触发器,您必须执行额外的操作才能检查数据集是否存在(表扫描与索引查找,或者您设置的索引没有对列的限制,但是...),然后相应地作出反应。所以,如果没有其他的事情可以做(记录失败的尝试),这将是不必要的步骤。