Tom is not not a fan of public synonyms, here is why:
- public synonyms pollute the namespace.
- public synonyms can lead to security issues.
- public synonyms can lead to a maintenance headache.
- public synonyms are public – no one owns them.
So, instead of public synonyms…
create PRIVATE synonyms or views in the application pointing to the objects in question.
Update: Over on Twitter, Allan reminded me of another way to avoid using synonyms, public and private. Use “alter session set current_schema=x”. Nuno has been using this technique for many years and Tom wrote about it here.
@eddieawad been using that and talking about it for 5 years…— Nuno Pinto do Souto (@wizofoz2k) May 5, 2013