septembre
2010
L’idée est d’examiner l’utilisation des index non-cluster par l’optimiseur de requête. Afin de mettre en évidence le choix du moteur de base données vis à vis des index non-cluster couvrants avec colonnes incluses ou non
septembre
2010
Le « Tipping point » qu’on peut traduire littérallement par point de basculement, correspond à la situation où un index non cluster n’est pas utilisé par l’optimiseur dans le cas d’une requête SARGable. Je préfère utiliser le terme Zone (ou ligne) de basculement que le terme « point de basculement » (Tipping point) parce qu’il me semble que la notion de point n’existe pas dans une base de données ! En mathématique, le point de basculement existe. Par exemple […]
septembre
2010
GO n’est pas une instruction Transact-SQL, mais une commande reconnue par les utilitaires sqlcmd, osql et l’éditeur de code SQL Server Management Studio (ssms). Les utilitaires SQL Server n’envoient jamais de commande GO au serveur. Les utilitaires SQL Server interprètent GO comme le signal qu’ils doivent envoyer le traitement Transact-SQL en cours à une instance SQL Server. La commande GO est aussi utilisée par les utilitaires SQL Server pour signaler la fin d’un traitement. Les […]
août
2010
Pour une période donnée, obtenir les requêtes exécutées et leurs contextes d’éxécutions.
août
2010
Depuis un certain temps je fais tout pour éviter d’utiliser les curseurs de façon explicite. la solution que j’ai trouvée et qui marche presque à tous les coups est la suivante : 1) Création de table temporaire (#Tmptable) 2) Remplissage de la table temporaire 3) WHILE EXISTS ( SELECT … FROM #Tmptable) BEGIN SET @ligneAtraiter = SELECT TOP 1 … FROM #Tmptable instrustion à exécuter avec @ligneAtraiter DROP de la ligne traitée dans la table […]
août
2010
Ce script permet de lister les vues indexées (et leur définition)
août
2010
Comment forcer le moteur SQL Server à utiliser les index malgré la présence de clause NON SARGeable dans ma requête ? Démo …
août
2010
Généralement le temps CPU et le nombre de pages logiques lues sont les indicateurs de performance d’une requête. Pour obtenir les valeurs de ces indicateurs SQL Server met à disposition les commandes : SET STATISTICS IO ON SET STATISTICS TIME ON Ces commandes fournissent beaucoup d’informations et donc engendrent des fois une perte de temps. Par exemple si on travaille sous SSMS (SQL Server Management Studio), les résultats de la requête sont présentés dans […]
juillet
2010
Si le serveur rame c’est qu’il y a problème de performance. Lenteur = problème de performances. Comment identifier la (les) source(s) du lenteur ?
juillet
2010
Avant toute opération d’optimisation d’une base de données, il est indispensable de vérifier rapidement les options automatiques de configuration de la base. Les incontournables : –> AUTO_SHRINK = OFF –> AUTO_CREATE_STATISTICS = ON –> AUTO_UPDATE_STATISTICS = ON –> AUTO_UPDATE_STATISTICS_ASYNC = OFF