Публичните синоними служат за много специфична цел; те позволяват даден обект да бъде рефериран от всеки потребител - ако приемем, че имат съответните привилегии. Ако в някакъв момент в бъдещето може да искате да промените начина, по който конкретен потребител гледа на обект, тогава публичните синоними не са правилният начин.
Те също така използват конкретно име на обект за цялата база данни. Обаче фактът, че съществува публичен синоним, не ви пречи да създадете обект със същото име. Това може да бъде невероятно объркващо.
Да приемем например, че имате процедура test
и схема emp
. Опитвам се да изпълня emp.test
няма да работи, тъй като вече имате публичен синоним emp
на масата .
Том Кайт , изглежда са написали a брой статии за това.
Що се отнася до аспекта на производителността, те изглежда предполагат, че публичен синоним над частен синоним ще доведе до лек спад в производителността . Но използването на синоним вместо липса на синоним също ще доведе до лек спад в производителността. Това предполага, че ако всеки последен computron ценно е, че изобщо не трябва да използвате синоними.
Взети заедно мисля, че това означава, че трябва да избягвате публични синоними, ако е възможно. Ако имате нужда тогава, разбира се, използвайте такъв, все пак те съществуват с причина, но ако не го правите, тогава какъв е смисълът да имате такъв? scott.emp
конструкцията е ясна, показва ви точно към каква схема и обект се отнасяте, без никаква възможност за погрешно тълкуване, било от вас самите, било от някой друг, който е нов в базата данни и кода.
Бърза точка. Не го казвате изрично, но формулировката на вашия въпрос изглежда предполага, че създавате схема за всеки потребител. Изглежда, че би било много объркващо...