我们正在优化我们公司的MySQL数据库。在许多表格中,我们发现:
因为主键已经是唯一的,所以我知道唯一的键是多余的,不需要。我也明白,在这个意义上,键只意味着“索引”,因此它也是多余的。

发布于 2015-01-22 14:22:50
是的,您可以删除唯一索引和键声明。AFAIK,每个SQL dbms都使用唯一的索引实现主键约束。您可以通过运行explain、删除这两个文件并再次运行explain来验证。
冗余索引可能对选择性能影响不大,因为冗余索引为查询规划器提供了更多可供考虑的选项。但是我希望冗余索引对INSERT和DELETE语句有更大的影响,因为这些索引必须与表一起更新。(SQL UPDATE语句只需要在更新的列被索引时才要求对索引进行更改。)
https://stackoverflow.com/questions/28087756
复制相似问题