为索引提供与其所基于的列相同的名称是否被认为是错误的形式?
就像你有一个名为'foo'的列并且想要在其上创建一个普通索引一样,是否可以将索引命名为'foo'? MySQL没有抱怨,但我想知道它的优点和缺点是什么。
答案 0 :(得分:13)
约定并不重要,因为你一直在使用它。
那就是说,我用“ind_”作为索引名称的前缀;约束获得“cns_”前缀。在任何一种情况下,列名称(s,如果是复合/覆盖)。
答案 1 :(得分:6)
作为惯例,索引名称应以它们所依赖的表的名称开头,例如: -
让表名为“USERS
”,字段名称为“id
”&例如,“username
”。然后索引名称可以是“IDX_USERS_ID_USERNAME
”。
但是,不要过于担心会议,只要在没有你帮助的情况下几个月后访问数据库的人都可以理解。
希望它有所帮助。
答案 2 :(得分:1)
索引不是列,索引名称仅用于提高可读性。您可以随心所欲地命名它们。如果索引在单个列上,那么为它指定与列相同的名称是有意义的。