代码之家  ›  专栏  ›  技术社区  ›  Chad Grant

SQL Server-同义词提示和技巧?[关闭]

  •  15
  • Chad Grant  · 技术社区  · 15 年前

    最近我做了很多数据库重构,同义词非常有用。当我最初输入同义词时,我认为它们在我重构时是非常临时的。现在我想,也许有一些很好的理由保留这些同义词。

    • 有人把它们当重拳打过吗 抽象层?

    • 性能成本是多少?

    • 有索引吗?

    • 技巧还是诀窍?

    我的第一个问题,所以请温柔一点。

    谢谢

    3 回复  |  直到 15 年前
        1
  •  13
  •   John Sansom    15 年前

    由于同义词是已经存在的数据库对象的抽象/替代名称,因此在表的情况下,索引行为与基础对象的索引行为相同,即在生成执行计划时,无论使用表名或对应同义词,都会生成相同的计划。

        2
  •  5
  •   Community CDub    7 年前

    实际上,我在使用索引时遇到了一个难题……我不确定是否有办法在这个网站上创建相关的文章,但这里是我的问题的同义词和表索引的链接。

    SQL Server Table Synonyms with Indexes

        3
  •  3
  •   wire science    15 年前

    是的,同义词可以用作抽象层或间接层。例如,如果您需要访问外部数据库中的对象,那么实际的数据库名称直到运行时才会知道。可以通过同义词名称编写引用对象的SQL,然后在以后动态创建同义词。

    没有索引gotchas:如果同义词引用表或索引视图,那么在这些对象上定义的任何索引都将起作用。

    性能应与通过完全限定名显式引用对象相同。