Sql server SQL Server-同义词提示和;把戏?

Sql server SQL Server-同义词提示和;把戏?,sql-server,performance,database-design,synonym,Sql Server,Performance,Database Design,Synonym,我最近做了很多数据库重构,同义词非常有用。当我最初输入同义词时,我认为它们在我重构时是非常临时的。现在我想也许有一些很好的理由保留这些同义词 有没有人用它们来打我 抽象层 性能成本是多少 有索引的问题吗 秘诀还是窍门 我的第一个问题,所以请温柔一点 感谢因为同义词是已经存在的数据库对象的抽象/替代名称,在表的情况下,索引行为与基础对象的行为相同,即生成执行计划时,无论使用表名或对应的同义词,都会生成相同的计划。是,同义词可用作抽象层或间接层。例如,如果需要访问外部数据库中的对象,而实际的数据

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

  • 有没有人用它们来打我 抽象层

  • 性能成本是多少

  • 有索引的问题吗

  • 秘诀还是窍门

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


感谢

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

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

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


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

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


我们可以通过查询
SELECT TABLE\u NAME FROM INFORMATION\u SCHEMA来获取表格列表。表格
same way>如何使用查询来获取同义词列表???选择SCHEMA\u NAME(SCHEMA\u id)+'.+NAME FROM sys.tables选择SCHEMA\u NAME(SCHEMA\u id)+'.+NAME,*从sys.procedures选择SCHEMA\u NAME(SCHEMA\u id)+'.'.+sys.views中的名称选择模式名称(模式id)+'.+名称,基本对象名称,修改sys.synonyms中的日期