【问题标题】:What are the advantages of include table name in index name?在索引名中包含表名有什么好处?
【发布时间】:2014-10-09 22:24:21
【问题描述】:

我将重命名我所有的数据库索引名称,并正在寻找一个好的约定来做到这一点。

很多人建议在索引名称中包含表的名称。

这样做有什么好处?

我看不出这个有很多用途。 相反,它使名称膨胀。

我更喜欢 IX_MyIndexName IX_MyVeryLongTableName_MyIndexName

【问题讨论】:

  • 更容易知道每个索引属于哪个表,并且同一表中的索引彼此相邻列出。

标签: database indexing naming-conventions naming database-administration


【解决方案1】:

当您需要识别索引所属的表时,此通用约定非常有用。如果您有任何报告/监控/警报系统显示需要重建的索引或占用太多空间的索引,这将非常有用 - 您将能够轻松识别索引所属的表,而无需执行额外的查询并就情况的紧急程度、它影响应用程序的哪些部分等做出明智的决定。

【讨论】:

  • +1 解释,因为我从来不知道。但在我看来,包含附加信息不可能那么难。我总是假设原因是因为它们必须在数据库中唯一命名。现在我知道它们只需要对表是唯一的,我相信我将不再包含表名!
【解决方案2】:

里面有表名可以保证你以后不会碰到重复的索引名。

在索引名称符合最大可能长度之前,我不会太在意它。

IDX_{TABLE_NAME}_{INDEX_NAME}

我会建议你计划使用的任何东西都保持 100% 一致,这将解决你未来的一些麻烦。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2010-11-12
    • 2020-02-03
    • 2010-12-01
    • 1970-01-01
    • 2011-07-20
    相关资源
    最近更新 更多