Comment migrer un shelveset d’une branche à une autre

Une des fonctionnalités que je trouve très pratique dans TFVC (Team foundation Version Control) c’est la possibilité de mettre son code « en attente », grâce aux shelveset.

Dans cette vidéo https://www.youtube.com/watch?v=fqKCTOARxQ0 j’explique comment mettre son code « en attente » (shelve) et comment le récuperer (unshelve)

L’une des difficulté que l’on peut rencontrer c’est le cas ou on fait un shelve sur une branche et que l’on veut le récuperer (unshelve) sur une autre branche.

La solution est d’utiliser la ligne de commande tfpt unshelve fournie avec les TFS Power Tools. Le prérequis à cette utilisation est que la branche source et la branche de destination se trouvent dans le même workspace.

Lire la suite

T-SQL manipulation de chaines de caractères

Quand on programme en T-SQL, il est souvent nécessaire de faire de manipuler des chaines de caractères.

Dans ce post je vous propose de revoir quelques fonctions de base.

LEN

Cette fonction retourne la longueur d’une chaine de caractères

SELECT LEN(‘ceci est un test’)

Renvoie 16

LEFT

Renvoie la partie gauche d’une chaine de caractères en fonctions du nombre de caractères passé en paramètre de la fonction

SELECT LEFT (‘SQL Server 2008’, 3)

Renvoie ‘SQL’ Lire la suite

Sql Server : Quelques astuces pour optimiser vos requêtes

Voici quelques astuces qui peuvent aider à optimiser vos requêtes sql.

1- Parmi les colonnes se trouvant dans la clause SELECT ne doivent êtres présentent uniquement les colonnes nécessaires. chaque colonnes de la requête nécessite des opérations I/O et de la bande passante.

2 – L’utilisation du SELECT * FROM … est très fortement déconseillé.

2- Seule les lignes nécessaires doivent être retournées. Ne pas faire retourner 10000 lignes par l’application alors que l’on a besoins de voir uniquement les 10 ères. (exemple d’un datagrid paginé).
La fonction ROWNUMBER permet de faire de la pagination en tsql.
Plus d’infos sur cette fonction ici: http://msdn.microsoft.com/fr-fr/library/ms186734.aspx

3- Ne pas utiliser le DISTINCT ou UNION si l’unicité n’est pas nécessaire.

4- Dans le cas d’utilisation d’un CURSEUR, pensez à le fermer et  le désalouer le plus tôt possible.

5- L’utilisation des Procédures stockés est recommandée, surtout si le temps d’exécution d’une requête n’est pas prédit.
Les procédures stockés ont l’avantage d’avoir un temps d’execution fiable, car leur exécution ne demandent pas de recompilation.
Plus d’infos ici: http://www.codeproject.com/Articles/414272/Stored-Procedures-DO-NOT-increase-performance

Lire la suite