16

我最近一直在做很多数据库重构,同义词非常有用。当我最初放入同义词时,我认为它们在我重构时会非常临时。现在我认为可能有一些很好的理由来保留其中一些同义词。

  • 有没有人将它们用作完整的抽象层?

  • 性能成本是多少?

  • 索引有什么问题吗?

  • 提示或技巧?

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

谢谢

4

3 回答 3

15

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

于 2009-04-28T12:54:42.053 回答
6

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

带索引的 SQL Server 表同义词

于 2009-09-01T19:11:59.763 回答
4

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

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

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

于 2009-05-08T08:48:52.920 回答