2014-02-14 3 views
0

У меня есть требование для некоторых отчетов и разных сред, а SQL Synonym имеет большой смысл с тем, чтобы наше решение работало.SQL SYNONYM и производительность

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

Однако, отдел оперативной поддержки не нравится идея, из-за «последствия Performace». Я не понимаю, почему произойдет снижение производительности. Но есть ли у кого-нибудь опыт работы с SYNONYM и базами данных среднего размера (100 гб) и проблемами производительности?

Должен ли я беспокоиться или Microsoft рассматривала это, и используете ли вы SYNONYM или полную квалификацию [Database]. [Schema]. [Tablename] в запросе - есть ли разница в производительности?

+1

Вашего оперативный отдела поддержки путается. Синоним - это просто псевдоним (или вы можете сказать указатель); совсем не уверен, что может повлиять на производительность, за исключением того, что, возможно, прозрачно для разработчиков, что этот двухчастный синоним фактически ссылается на таблицу по связанному серверу, связанному с can и string ... Или если вы используете явные подсказки индекса (!) * и * находятся на древней неподдерживаемой версии SQL Server. –

+0

дубликат [SQL Server - советы и хитрости синонимов?] (Https://stackoverflow.com/questions/796791/sql-server-synonyms-tips-tricks) –

ответ

1

Вот хорошая нить SO по синонимам. Производительность не должна быть проблемой на одном сервере. Я не уверен в перекрестном сервере.

https://stackoverflow.com/questions/796791/sql-server-synonyms-tips-tricks

+0

В таком случае вы должны просто отметить этот поток как дублировать другой, вместо отправки ответа. –

0

В любое время вы использовать связанные серверы или запросы кросс-базы данных вы приведете потенциал и хорошо документированные проблемы с производительностью. Например, запрос обычно становится распределенным запросом. Кроме того, Оптимизатор ограничен или не имеет доступа к удаленной статистике, поэтому план запроса вряд ли будет «оптимальным». Использование синонима просто скрывает сложность под псевдонимом, который обычно выглядит как локальная ссылка, и заставляет разработчиков делать что-то на связанном сервере, что они не должны такие, как вложенные подзапросы и сложные объединения с несколькими таблицами.

Тем не менее, я серьезно рассматриваю синонимы, но я буду подчеркнуть их особый характер по именованию (например, syn_theTable) и правила кодирования :)

Смежные вопросы