Это общий вопрос по дизайну базы данных. Каковы преимущества использования синонима в разработке баз данных на простом представлении? Каковы основные соображения, которые следует учитывать при выборе между ними?Каковы преимущества/недостатки использования синонимов против представления?
Пример вид:
CREATE VIEW Users AS
SELECT * FROM IdentitySystem.dbo.Users
И эквивалентный синоним:
CREATE SYNONYM Users
FOR IdentitySystem.dbo.LCTs
К сожалению перетащить старую нить, но у меня есть такая же дилемма, стоит ли использовать представление или синоним. Это отличный ответ, спасибо, но на самом деле он не отвечает на вопрос – DarthPablo
Возьмем 2: -C Извините, что перетащил старый поток, но у меня есть аналогичная дилемма, как использовать представление или синоним. Спасибо за хорошее объяснение. Вопрос, который у меня есть, заключается в том, есть ли какие-либо причины _not_ использовать «прямой» вид, делающий «select * from table»? Это тот бит, который вы упоминаете, с оптимизатором запросов? Одна из проблем, которую я нашел с синонимами, заключается в том, что они заставляют Hibernate жаловаться, когда проверка схемы включена, используя 'hibernate.hbm2ddl.auto = validate'. Что касается ваших причин использовать синоним, наверняка первые два могут быть рассмотрены с целью, не могли бы они? – DarthPablo
Из 3 причин использования синонима первые две точки применимы к представлениям близости ('' 'create view X_table as select * from another_database.dbo.X_table''') Что касается третьей причины - 99% время, вероятно, не будет штрафа. Так что же таинственное '' '... Плюс еще много .'''? и они имеют значение? Один хороший андер дает @Jimmy Zimms – Konstantin