2014-02-14 30 views
0

我有一些報告和不同環境的要求,而SQL Synonym會使我們的解決方案工作很有意義。SQL SYNONYM和性能

http://technet.microsoft.com/en-us/library/ms177544.aspx

然而,運營支持部門不喜歡這個主意,因爲「服務表現的影響」。我看不出爲什麼會有性能下降。但是,有沒有人有SYNONYM和中型數據庫(100GB)和性能問題的經驗?

我應該擔心,還是讓微軟報道過這個問題,以及您是否使用SYNONYM或查詢中完全限定的[Database]。[schema]。[tablename] - 是否有任何區別 - 性能是否明智?

+1

你的業務支持部門的困惑特殊性。同義詞只是一個別名(或者你可以說一個指針);一點也不確定,除了可能對開發人員透明,這個兩部分的同義詞實際上是通過can和string連接的鏈接服務器引用一個表...或者如果您使用顯式索引提示(! )*和*位於一個古老的未安裝版本的SQL Server上。 –

+0

[SQL Server - 同義詞提示和技巧?]的副本(https://stackoverflow.com/questions/796791/sql-server-synonyms-tips-tricks) –

回答

0

每當你使用鏈接的服務器或跨數據庫查詢您介紹潛力和有據可查的性能問題。例如,查詢通常變成分佈式查詢。另外,優化程序對遠程統計信息的訪問權限有限或無法訪問,因此查詢計劃不太可能是「最優」的。 使用同義詞只是將複雜性隱藏在通常看起來像本地引用的別名下,並誘使開發人員在鏈接服務器上執行的操作不應該像嵌套的子查詢和複雜的多表連接一樣。

這就是說,我很認真地考慮同義詞,但我會強調通過命名約定(如syn_theTable)和編碼規則:)