SQL Server - Synonymes Trucs & Astuces?
J'ai fait beaucoup de DB refactoring ces derniers temps et les synonymes sont venus dans incroyablement utile. Quand j'ai d'abord été mis dans la synonymes je pensais qu'ils seraient très temporaire, le temps que je refactoriser. Maintenant, je pense qu'il pourrait y avoir quelques bonnes raisons de garder certains de ces synonymes autour de.
- Quelqu'un a utilisé comme plein coup
la couche d'abstraction? - Quels sont les coûts de l'exécution?
- Tout problèmes avec les index?
- Conseils ou Astuces?
À ma première question, donc, soyez doux.
Grâce
OriginalL'auteur Chad Grant | 2009-04-28
Vous devez vous connecter pour publier un commentaire.
Comme un synonyme est une abstraction/autre nom pour un objet de base de données, dans le cas d'un tableau, l'indice de comportement est identique à celui de l'objet sous-jacent c'est à dire lorsque les plans d'exécution sont générés, le même plan est généré indépendamment de l'utilisation du nom de la table ou corresponsing synonyme.
nous pouvons obtenir la liste des tables par quering
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
même manière >Comment puis-je obtenir la liste des synonymes à l'aide de la requête???sélectionnez schema_name(schema_id) + '.' + nom de sys.tableaux, sélectionnez schema_name(schema_id) + '.' + nom * from sys.les procédures de sélectionner schema_name(schema_id) + '.' + nom de sys.vues
sélectionnez schema_name(schema_id) + '.' + nom, base_object_name, modify_date à partir de sys.synonymes
OriginalL'auteur John Sansom
En fait, je suis venu à travers une chasse aux sorcières lors de l'utilisation d'index.... Je ne sais pas si il existe un moyen de créer related posts sur ce site, mais voici le lien vers mon problème avec les synonymes et les index de table.
Table SQL Server Synonymes avec Index
OriginalL'auteur Jarred Froman
Oui, synonymes peut être utilisé comme une couche d'abstraction, ou de la couche d'indirection. Par exemple, si vous avez besoin d'accéder à des objets dans une base de données externe où le nom de base de données ne sera connue qu'à l'exécution. Vous pouvez écrire votre sql renvoyant à des objets par nom synonyme, puis créer dynamiquement des synonymes plus tard.
Il n'y a aucun indice de pièges: si le synonyme fait référence à une table ou la vue indexée, alors, quelles que soient les indices sont définis sur ces objets sont en jeu.
De la Performance devrait être le même qu'en se référant explicitement à l'objet par le nom pleinement qualifié.
OriginalL'auteur wire science