gpt4 book ai didi

sql-server - INCLUDE 索引的命名标准?

转载 作者:行者123 更新时间:2023-12-04 07:01:47 29 4
gpt4 key购买 nike

我们对可以通过编程方式验证的索引使用了相当简单的命名标准,但我正在努力使用 INCLUDE 列命名索引。如果我根据一个简单的公式来做,那么构建太长的名称就太容易了。然后我的编程验证失败,我最终得到了截断的名称。

对于那些使用 INCLUDE 列的人,您是否想出了一个令您满意的命名标准?如果是这样,请分享。

我目前不满意的标准:
IX_<tableName>_<column1>_..._<columnN>_wIncl ( wIncl 翻译为“包含”)

问题是没有指示包含哪些列。

最佳答案

我不会真正将所有这些信息添加到索引名称中...

我通常拥有的是

  • PK_(table)用于主键索引
  • IXnn_(table)_(indexname)对于常规非聚集索引
  • UIXnn_(table)_(indexname)对于常规非聚集唯一索引
  • CIXnn_(table)_(indexname)对于聚集唯一索引(如果它与PK不同)

  • 这对我的情况来说已经足够了——如果你想特别指出一个非聚集索引也包含列,你可能想考虑一个新的前缀(而不是 IX)——但我不会太过分并添加所有名称中也包含列 - 信息太多!

    如果您需要查看索引中的列,以及它们是否包含列,请查询系统目录 View :
    SELECT
    OBJECT_NAME(i.object_id) 'Table name',
    i.name 'Index name',
    i.type_desc 'Index type',
    i.is_unique ,
    i.is_primary_key ,
    i.is_unique_constraint ,
    c.Name 'Column name',
    ic.is_included_column
    FROM
    sys.indexes i
    INNER JOIN
    sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
    INNER JOIN
    sys.columns c ON ic.column_id = c.column_id AND ic.object_id = c.object_id
    WHERE
    i.Name = '(your index name in question)'

    马克

    关于sql-server - INCLUDE 索引的命名标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716678/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com