Résolutions 2013 !

 

Entre autres les bonnes résolutions prises le soir du Nouvel An 🙂 en voici une liée a mon métier : Passer les certifications SQL Server 2012 !

Pour rappel voici les nouvelles certifications https://pulsweb.azurewebsites.net/certification-sql-server-2012/

Je souhaite passer d’ici la fin de l’année 2013 les examens suivants :

SQLServer2012_Certifications

 

L’examen 70-457 est destiné aux candidats qui ont déjà obtenu l’une des certifications MCTS sur SQL Server 2008 et qui souhaitent la transition de leurs compétences pour MCSA SQL Server 2012.

Cet examen évalue vos aptitudes a :

  • Installer et configurer SQL Server 2012
  • Créer des objets de base de données
  • Manipuler et modifier des données
  • Maintenir en condition opérationnelle des bases de données
  • Troubleshooter et optimiser des requêtes

Voici quelques ressources pour réviser :

Il me reste encore une quinzaine de jours avant l’examen, je vais en profiter pour lire quelques blogs et conforter mes connaissances sur les thèmes abordés.

 

Voici une des choses que j’ai pu apprendre lors de mes révisions : COALESCE vs ISNULL

J’ai toujours utilisé ISNULL au détriment de COALESCE mais il est désormais recommandé d’utiliser ce dernier car il rentre dans les standards de développements !

Prenons l’exemple suivant:

DECLARE 
 @x AS VARCHAR(3) = NULL, 
 @y AS VARCHAR(10) = '1234567890';
SELECT COALESCE(@x, @y) AS [COALESCE], ISNULL(@x, @y) AS [ISNULL];

Voici le résultat :

COALESCE_ISNULL

L’expression COALESCE est déterminée par la valeur de sortie tandis que le type de l’expression ISNULL est déterminé par le premier paramètre.

 

Remarque : COALESCE et ISNULL peuvent affecter les performances lorsque vous effectuer une jointure ou un filtre sur vos données.

Prenons 2 tables T1 et T2, une correspondance entre T1.col1 et T2.col1 permettant des valeurs NULL. Normalement, une comparaison entre deux valeurs NULL provoque le rejet de la ligne. Dans ce cas, il est utilisé COALESCE ou ISNULL pour substituer une valeur NULL par une valeur défaut :

COALESCE (T1.col1, -1) = COALESCE (T2.col1, -1)

OU

ISNULL (T1.col1, -1) = ISNULL (T2.col1, -1)

Cependant, dans ces requêtes les index ne seront pas utilisés ! Il est donc recommandé d’utiliser la forme suivante permettant d’utiliser efficacement les index existants :

(T1.col1 = T2.col1) OR (T1.col1 IS NULL AND T2.col1 IS NULL)

1 Comment

  • Fleid Says

    Même objectif de mon coté 🙂
    Faut qu’on se motive mutuellement 😉

    Et pour le TSQL, j’ai toujours préféré COALESCE à ISNULL, juste parce que je le trouvais plus joli… Merci de me donner une vraie raison 😀

Comments are closed.

En savoir plus sur Pulsweb - Romain Casteres

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Continue reading