是否可以将MySQL索引命名为与其索引的列相同?

时间:2011-06-27 18:24:47

标签: mysql relational-database indexing

为索引提供与其所基于的列相同的名称是否被认为是错误的形式?

就像你有一个名为'foo'的列并且想要在其上创建一个普通索引一样,是否可以将索引命名为'foo'? MySQL没有抱怨,但我想知道它的优点和缺点是什么。

3 个答案:

答案 0 :(得分:13)

约定并不重要,因为你一直在使用它。

那就是说,我用“ind_”作为索引名称的前缀;约束获得“cns_”前缀。在任何一种情况下,列名称(s,如果是复合/覆盖)。

答案 1 :(得分:6)

作为惯例,索引名称应以它们所依赖的表的名称开头,例如: -

让表名为“USERS”,字段名称为“id”&例如,“username”。然后索引名称可以是“IDX_USERS_ID_USERNAME”。

但是,不要过于担心会议,只要在没有你帮助的情况下几个月后访问数据库的人都可以理解。

希望它有所帮助。

答案 2 :(得分:1)

索引不是列,索引名称仅用于提高可读性。您可以随心所欲地命名它们。如果索引在单个列上,那么为它指定与列相同的名称是有意义的。