SQL Server - 同义词提示&窍门?

时间:2009-04-28 08:22:20

标签: sql-server performance database-design synonym

我最近一直在做很多数据库重构,同义词已经非常有用了。当我最初输入同义词时,我认为在重构时它们会非常短暂。现在我想可能有一些很好的理由来保留这些同义词。

  • 有没有人用它们作为全面打击 抽象层?

  • 性能成本是多少?

  • 任何有索引的问题?

  • 提示或技巧?

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

由于

3 个答案:

答案 0 :(得分:13)

作为同义词是已存在的数据库对象的抽象/替代名称,在表的情况下,索引行为与基础对象的行为相同,即,当生成执行计划时,生成相同的计划而不管使用表名或相应的同义词。

答案 1 :(得分:5)

实际上,我在使用索引时遇到了问题....我不确定是否有办法在此站点上创建相关帖子,但这里是我的同义词和表索引问题的链接。

SQL Server Table Synonyms with Indexes

答案 2 :(得分:3)

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

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

性能应与通过完全限定名称明确引用对象相同。

相关问题