If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: pachadata.com/docs/optimiser-sql-server/chapitres/080.optimiser-le-code - Optimiser le code SQL | Rudi B.

site address: pachadata.com/docs/optimiser-sql-server/chapitres/080.optimiser-le-code/ redirected to: pachadata.com/docs/optimiser-sql-server/chapitres/080.optimiser-le-code

site title: Optimiser le code SQL Rudi Bruchez

Our opinion (on Sunday 16 August 2026 10:37:27 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Chapitre 08 - Optimiser le code SQL;

Headings (most frequently used words):

les, de, table, sql, plan, exécution, indicateurs, requête, et, optimiser, le, code, gestion, des, dynamique, lire, un, principaux, opérateurs, algorithmes, jointure, avancée, plans, son, tables, temporaires, pour, ou, contre, éviter, curseurs, optimisez, vos, déclencheurs, récupérer, vues, débordements, hachages, guides, écriture, ensembliste, comparaisons, filtres, grandeur, misère, fonctions, utilisateur, compter, lignes, une, vaut, il, mieux, utiliser, variables, type, limiter, pollings, avec, notifications, récursivité, mises, jour, tag, cloud, categories,

Text of the page (most frequently used words):
les (263), une (262), est (252), dans (211), des (181), pour (148), plan (147), table (134), sql (128), par (121), sur (110), vous (105), qui (98), que (98), select (90), #requête (88), from (83), exécution (82), lastname (76), nous (73), index (73), plus (67), sont (64), server (58), lignes (57), person (56), code (55), pas (52), exemple (51), avec (49), être (46), cette (45), contact (44), where (43), donc (42), peut (41), même (41), opérateur (41), firstname (40), comme (39), nombre (36), ligne (35), type (35), tables (30), colonne (30), recherche (30), instruction (29), deux (29), requêtes (27), set (27), colonnes (27), force (27), mais (26), elle (26), clause (26), plans (26), contactid (26), ces (25), très (25), fonction (25), scan (25), performances (25), utiliser (23), join (23), aussi (23), xml (23), pouvez (22), sous (21), données (21), cas (21), opérateurs (21), procédure (21), avons (20), transaction (20), cet (20), figure (20), sys (20), clustered (20), votre (19), doit (19), and (19), null (19), résultat (19), après (19), tempdb (19), chaque (19), jour (18), trigger (18), elles (18), sans (18), valeur (18), variable (18), fait (18), dbo (18), clé (18), indicateurs (18), update (17), déclencheur (17), sera (17), bien (17), order (17), fig (17), optimiseur (17), hash (17), permet (16), insert (16), soit (16), estimé (16), jointure (16), niveau (16), dynamique (16), showplan (16), son (15), autre (15), exec (15), option (15), leur (15), cache (15), base (15), utilisation (15), guide (15), partir (14), non (14), name (14), aide (14), syntaxe (14), éviter (14), cela (14), declare (14), compilation (14), spool (14), moteur (14), première (14), utilisé (14), indicateur (14), événement (13), query (13), événements (13), serveur (13), utile (13), souvent (13), sales (13), faire (13), ensembliste (13), avant (13), toute (13), simple (13), ainsi (13), paramètre (13), nom (13), hachage (13), begin (12), for (12), possible (12), jeu (12), delete (12), moins (12), fonctions (12), mise (12), été (12), rollback (12), réel (12), statistiques (12), coût (12), voir (12), optimisation (12), stockée (12), calcul (12), lookup (12), opération (11), tout (11), exécuter (11), ensuite (11), section (11), ordre (11), expression (11), group (11), choix (11), selon (11), création (11), mémoire (11), aggregate (11), optimiser (11), tous (10), lui (10), objets (10), with (10), utilisateur (10), déclencheurs (10), dire (10), celui (10), intérieur (10), filtre (10), ils (10), erreur (10), version (10), différence (10), travail (10), int (10), humanresources (10), middlename (10), liste (10), isolation (10), format (10), client (9), fromdate (9), currencycode (9), peuvent (9), expressions (9), alors (9), into (9), curseurs (9), avez (9), 2005 (9), affichage (9), statistics (9), tri (9), performance (9), union (9), not (9), employeeid (9), dont (9), langage (9), currentcontactid (9), voyons (9), plusieurs (9), taille (9), opérations (9), count (9), lorsque (9), loop (9), graphique (9), simplement (8), objet (8), entrée (8), effectuer (8), modification (8), partie (8), vue (8), retourne (8), instructions (8), ont (8), car (8), affiche (8), create (8), fois (8), ici (8), générer (8), top (8), trouvez (8), th1 (8), généré (8), varchar (8), temporaire (8), temps (8), parce (8), forcer (8), variables (8), emailaddress (8), suffix (8), résultats (8), stratégie (8), trace (8), guides (8), algorithme (8), nested (8), besoin (7), end (7), todate (7), voici (7), revanche (7), celle (7), gestion (7), session (7), ceci (7), ssms (7), verrous (7), row_number (7), notre (7), testloop (7), créer (7), méthode (7), fenêtrage (7), permettent (7), boucle (7), curseur (7), rapide (7), employee (7), appel (7), effectuée (7), cross (7), jointures (7), while (7), possibilité (7), utilisant (7), obtenir (7), estimation (7), trois (7), like (7), valeurs (7), abord (7), modifier (7), getcontactsforplanguide (7), mldr (7), quand (7), merge (7), bookmark (7), informations (6), notifications (6), aux (6), vérifier (6), toutes (6), autant (6), virtuelles (6), ses (6), mises (6), deleted (6), match (6), transactions (6), pratique (6), toujours (6), verrez (6), stockées (6), seule (6), nvarchar (6), recompilation (6), vos (6), groupe (6), faut (6), cte (6), autres (6), peu (6), all (6), contre (6), cur (6), administration (6), notamment (6), read (6), seconde (6), entre (6), haut (6), contrainte (6), doivent (6), relationnel (6), façon (6), unique (6), commande (6), étant (6), compute (6), scalar (6), seek (6), utilise (6), structure (6), vues (6), indique (6), granularité (6), readpast (6), distribution (6), auto (6), puis (6), flèches (6), travers (5), effectue (5), automatiquement (5), return (5), between (5), utilisés (5), bon (5), bonne (5), déclenche (5), début (5), depuis (5), écriture (5), versions (5), contient (5), fonctionne (5), row (5), procédures (5), provoque (5), important (5), effet (5), lors (5), suivante (5), over (5), pouvons (5), réaliser (5), créé (5), key (5), information (5), propriétés (5), nécessaire (5), transactionid (5), produire (5), phrase (5), général (5), compte (5), présence (5), remplacer (5), passer (5), deuxième (5), livre (5), argument (5), correspond (5), utilisée (5), microsoft (5), temporaires (5), lorsqu (5), dit (5), retour (5), mieux (5), reads (5), cardinalité (5), stream (5), puisque (5), getcountcontacts (5), scalaire (5), règle (5), quelques (5), coûteux (5), retournées (5), logique (5), syntaxes (5), phase (5), faite (5), optimize (5), hints (5), utiles (5), détail (5), verrons (5), algorithmes (5), agrégation (5), parcours (5), enfant (5), nonclustered (5), batch (5), apply (5), texte (5), profile (5), commandes (5), flèche (5), place (4), bol (4), contenu (4), utilisez (4), fonctionnalité (4), application (4), site (4), inserted (4), rowcount (4), permettant (4), devez (4), triggers (4), exécute (4), traiter (4), principaux (4), output (4), afficher (4), plutôt (4), visible (4), inutile (4), dangereux (4), principalement (4), idée (4), dml (4), currency (4), affectées (4), aucun (4), jusqu (4), externe (4), garantie (4), explicite (4), réalité (4), contexte (4), disponibles (4), deleteddate (4), sgbdr (4), premier (4), demande (4), voyez (4), system_objects (4), représentation (4), 2008 (4), th2 (4), mot (4), compter (4), str (4), boucles (4), plupart (4), mêmes (4), présenter (4), main (4), hoc (4), adams (4), source (4), execute (4), exécutée (4), permettre (4), aucune (4), verrouillage (4), suffit (4), déjà (4), vaut (4), total (4), comprendre (4), pourquoi (4), pages (4), cpu (4), cnt (4), façons (4), chercher (4), programmeur (4), rien (4), clés (4), choisi (4), retournent (4), droite (4), certaines (4), également (4), stockage (4), arbre (4), abercrombie (4), verrou (4), serializable (4), lire (4), récupérer (4), doublons (4), allons (4), consiste (4), propriété (4), collapse (4), split (4), lookforphysicalops (4), query_plan (4), dm_exec_query_plan (4), text (4), session_id (4), affichent (4), vont (4), info (4), bulle (4), rudi (3), bruchez (3), expertise (3), lequel (3), seront (3), références (3), changé (3), référence (3), readuncommitted (3), nocount (3), attention (3), ensemble (3), optimal (3), comportement (3), appelée (3), trop (3), estimées (3), complexes (3), portant (3), existe (3), déclenché (3), after (3), avoir (3), currencyarchive (3), disponible (3), reconfigure (3), sp_configure (3), options (3), désactiver (3), indiquent (3), quelles (3), quel (3), appelant (3), annule (3), faites (3), serait (3), créés (3), sauf (3), off (3), relativement (3), chaîne (3), jamais (3), 3609 (3), afin (3), via (3), lectures (3), showplan_xml (3), recherches (3), relatif (3), interne (3), supprimées (3), entendu (3), supprimée (3), values (3), tel (3), uniquement (3), ensemblistes (3), certains (3), veut (3), mis (3), recompilations (3), système (3), quelle (3), difficile (3), rownumber (3), ctetestloop (3), exactement (3), encore (3), solution (3), ctl (3), raison (3), problème (3), néanmoins (3), physique (3), potentiellement (3), fil (3), efficace (3), spécifique (3), article (3), hierarchyid (3), boss (3), près (3), chose (3), employeecte (3), actualcost (3), production (3), nombres (3), citations (3), comment (3), parcourir (3), passage (3), moyens (3), construction (3), pourrions (3), analyser (3), parfois (3), sécurité (3), statique (3), respectivement (3), solutions (3), searchcontactsdynamique (3), searchcontactsstatique (3), vient (3), envoi (3), charge (3), 8000 (3), écrire (3), traditionnelle (3), page (3), combinaison (3), vide (3), insertion (3), montre (3), tran (3), sysname (3), lié (3), déclaration (3), primaire (3), appliquer (3), lesquelles (3), révéler (3), performant (3), ressources (3), écrite (3), valable (3), obligé (3), object (3), lecture (3), déclarative (3), contacts (3), aller (3), titre (3), empêche (3), opérandes (3), seulement (3), constant (3), condition (3), filtres (3), opérande (3), changement (3), étape (3), étrangère (3), créent (3), modèle (3), address (3), indexée (3), gauche (3), actuelle (3), relationnelle (3), clauses (3), apparition (3), durant (3), suivants (3), sort (3), exécutions (3), nœud (3), sp_control_plan_guide (3), types (3), défaut (3), suivant (3), chapitre (3), imbriquée (3), conversions (3), schéma (3), installation (3), showplanxml (3), dernier (3), paramétrage (3), moyenne (3), indiquer (3), maximum (3), parallelism (3), donne (3), cost (3), maxdop (3), indiqué (3), devraient (3), considérer (3), complet (3), débordements (3), hachages (3), triées (3), extraire (3), vers (3), xquery (3), triée (3), présent (3), feuille (3), seul (3), bas (3), prédicat (3), lazy (3), celles (3), execution (3), extraction (3), représente (3), plan_handle (3), dm_exec_sql_text (3), compile (3), donnent (3), historiques (3), détruites (3), souris (3), threads (3), représenté (3), produit (3), docs (3), maintenance (3), alwayson (3), diagnostic (3), journaux (3), trouverez (2), basé (2), natif (2), rarement (2), sûr (2), vérification (2), profiter (2), web (2), limiter (2), pollings (2), dates (2), historique (2), chevauchent (2), currencyhistory (2), exists (2), alter (2), devra (2), contraintes (2), contenir (2), contrôles (2), passant (2), check (2), enfin (2), exécutant (2), voulez (2), réellement (2), placé (2), fine (2), current_timestamp (2), currency2 (2), but (2), légère (2), show (2), advanced (2), disallow (2), results (2), présents (2), renvoie (2), notez (2), intéressent (2), atr_d (2), archive (2), tester (2), pure (2), sauvegarde (2), nom_du_point (2), save (2), suivre (2), validé (2), envoyée (2), évitez (2), déclenchement (2), copie (2), store (2), suivi (2), retrouver (2), méfiez (2), correctement (2), implémentent (2), penser (2), terme (2), systématique (2), modifiant (2), court (2), augmente (2), existent (2), ddl (2), entrent (2), optimisez (2), importe (2), astuce (2), bricolage (2), surtout (2), partition (2), partitionnement (2), sûre (2), pourriez (2), capacité (2), gérer (2), implique (2), description (2), exemples (2), organization (2), employeename (2), donner (2), complexe (2), implémenté (2), classe (2), net (2), stocker (2), hiérarchie (2), malgré (2), calculée (2), managerid (2), 100 (2), cast (2), récursivité (2), était (2), common (2), transactiondate (2), 20030901 (2), transactionhistory (2), sum (2), essayer (2), toutefois (2), petits (2), totaux (2), cumulés (2), courant (2), volée (2), nouvelle (2), len (2), substring (2), auteur (2), homme (2), gens (2), concaténation (2), déclaratif (2), nécessaires (2), print (2), next (2), fetch (2), fetch_status (2), fast_forward (2), remplacement (2), intéressant (2), simples (2), meilleure (2), prendre (2), soient (2), préférable (2), viole (2), numéro (2), conservé (2), multiples (2), défauts (2), intéressante (2), inséré (2), essayons (2), appels (2), formulaire (2), révèle (2), règles (2), privilèges (2), contenus (2), risques (2), soyez (2), intégré (2), sorte (2), avantages (2), left (2), reçoit (2), filtrer (2), pratiquement (2), critères (2), sujet (2), évaluer (2), conclusion (2), utilisons (2), insérées (2), évidemment (2), impliquant (2), master (2), sysobjects (2), use (2), impossible (2), volumineuses (2), beaucoup (2), baser (2), absence (2), consomme (2), dure (2), propre (2), contenue (2), moment (2), certaine (2), apparaître (2), métadonnées (2), information_schema (2), démontrer (2), introduit (2), renvoyer (2), logical (2), dm_db_partition_stats (2), index_id (2), object_id (2), row_count (2), outer (2), nix (2), person_contact (2), trouve (2), nouveau (2), décidée (2), lit (2), 000 (2), 125 (2), ackerman (2), function (2), créons (2), noms (2), famille (2), modulariser (2), lieu (2), calculs (2), paraît (2), mauvaise (2), retourner (2), defined (2), grandeur (2), misère (2), entraîner (2), tant (2), sélection (2), prenons (2), constantes (2), fixe (2), choses (2), sarg (2), collation (2), présente (2), assurer (2), appuyer (2), nécessairement (2), addressid (2), recherchée (2), choisir (2), sélectivité (2), estimations (2), dépend (2), testez (2), comparaisons (2), heure (2), choisissez (2), intuitive (2), stratégies (2), signifie (2), procédurale (2), finalement (2), ensembles (2), algèbre (2), manière (2), améliorer (2), premiers (2), distinct (2), grande (2), descriptive (2), précise (2), libraire (2), coller (2), voie (2), plan_guides (2), event (2), operation (2), drop (2), pire (2), parameter (2), sniffing (2), optimizeforall (2), sp_create_plan_guide (2), procedure (2), parameterization (2), directement (2), exclusif (2), pose (2), strictement (2), équivalent (2), holdlock (2), nolock (2), uncommitted (2), beurre (2), quatre (2), read_committed_snapshot (2), versioning (2), committed (2), critère (2), noexpand (2), listons (2), exécutées (2), partout (2), élément (2), supprimé (2), provoquer (2), ressort (2), calculer (2), jacentes (2), considérés (2), changements (2), keepfixed (2), keep (2), mal (2), extrêmes (2), variable_name (2), unknown (2), rappelons (2), parallélisation (2), parallélisme (2), activer (2), désactivé (2), processeurs (2), indexation (2), génération (2), différents (2), entière (2), agit (2), objectif (2), customerid (2), forçant (2), certain (2), fin (2), ajoutant (2), logiques (2), physiques (2), avancée (2), warnings (2), agrégations (2), estimée (2), crée (2), parcourt (2), comparaison (2), importants (2), rapidement (2), fusion (2), correspondance (2), testées (2), imbriquées (2), volumes (2), joindre (2), retournée (2), heap (2), provenant (2), sélectionnées (2), sequence (2), identifiant (2), formes (2), particulières (2), rid (2), remote (2), créée (2), calculées (2), testée (2), comparées (2), filter (2), eager (2), séquence (2), entreprise (2), batchsequence (2), statements (2), http (2), schemas (2), com (2), sqlserver (2), 2004 (2), default (2), sql_handle (2), trouver (2), blog (2), dm_exec_requests (2), start_time (2), status (2), command (2), éliminer (2), spid (2), cours (2), profiler (2), binaire (2), contiennent (2), objectid (2), integerdata (2), binarydata (2), completed (2), starting (2), textdata (2), sqlhandle (2), recompilé (2), octets (2), grâce (2), compilées (2), éléments (2), détaillé (2), envoyées (2), 973 (2), parlerons (2), forcé (2), épaisses (2), petit (2), visuellement (2), fines (2), parallèle (2), parallélisé (2), indiquant (2), envoyé (2), fenêtre (2), affiché (2), fichier (2), extension (2), barre (2), outils (2), ctrl (2), qualité (2), graphe (2), implicites (2), problèmes (2), 2025 (2), shrink (2), sargabilité (2), journal (2), architecture (2), compteurs (2), sauvegardes (2), always (2), français (2), droits, réservés, 2026, services, contactez, moi, parlons, projet, gestionnaire, using, sqldependency, service, broker, applications, abonner, envoyés, changent, régulières, aurait, snac, sqlncli, mettre, chargées, native, raiserror, atr_iu, sales_currencyhistory, checkconsistency, validité, présuppose, acceptent, probablement, hors, tricher, ajoutons, cohérence, préférez, instant, traité, corps, basant, réorienter, intérêts, réécrire, before, instead, archivage, rediriger, songez, rend, cliente, parasitée, recordset, indésirable, renvoi, malencontreusement, interragit, référez, mentionnée, servez, mentionnées, columns_updated, sales_currency2, perte, frf, fera, prudent, mécanisme, points, effectivement, oubliez, dehors, fermera, éventuels, cursor_close_on_commit, insensitive, static, souhaitez, mesure, déclenchant, gère, égal, sortie, apparaît, exécuté, intérêt, déclencher, sens, commit, trancount, annuler, déclenchante, envoie, avertir, placer, bloc, try, catch, soir, feront, particuliers, massivement, modifiées, provoquera, activité, gérées, considéré, logiquement, ajoutées, fréquente, vidée, inscrite, smalldatetime, nchar, sales_currency, commun, opposition, déclenchent, essentiel, per, point, comportent, rappel, réutilisé, garder, prolonge, durée, exécutent, structures, cadre, aborderons, blocs, exécutés, obligatoirement, imiter, garantir, correct, facile, recommencer, numérotation, compliqué, officielle, raisons, contourner, limitation, précisément, regroupement, implémentation, documentée, consistante, primary, identity, affecter, mélanger, affectation, forme, détournée, évitera, dernière, structuration, intervallaire, frédéric, brouard, working, data, getroot, isdescendantof, getancestor, getlevel, level, dessus, disposez, méthodes, indexer, récursif, descendre, classique, employé, manager, récusrives, connaissait, profondeur, résout, totalcumule, précision, découpage, lisez, rencontré, citation, mots, system_views, tally, newid, charindex, nullif, mécontents, pauvres, réfléchissent, talleyrand, ennuyeux, incapable, ennuyer, cioran, généralement, guitry, 1000, séparations, pivots, coalesce, max, caractéristique, profit, final, séquentielle, finir, break, deallocate, close, open, cursor, traitement, révèlent, efficaces, traitements, vérifications, remplacés, récrire, différent, rencontre, automatiser, maintenances, acceptable, tenu, fréquence, fenêtres, favorables, rencontrer, manque, connaissance, possibilités, décision, eux, optimisables, pensons, only, circuite, ennemi, public, séquentiellement, côté, comportant, reste, lisibilité, figures, adapté, parlante, gagne, cachehit, nommées, proposées, réutilisation, écueil, tombons, accompagnement, quoi, agir, inconvénient, avantage, obéit, chaînage, propriétaires, termes, vérifiés, autorisé, injection, malicieux, utilisaeur, ayant, prudents, injections, prévenir, quelque, précompilation, évaluation, prises, internaute, saisir, arguments, prend, imaginons, multi, produits, particulière, fréquemment, construire, débat, dynamiquement, ute, recommande, précisons, intéressantes, petite, laquelle, insérons, annulation, annulée, bénéfique, codez, risquez, inattendus, expérimenter, enrôlées, part, possibles, utilisées, regardant, 1763, resources, statistique, zéro, productif, inconvénients, oui, maintenir, moindre, journalisée, constater, enrôlée, validée, privée, fn_dblog, gain, apporté, limité, réside, atteint, séparez, tests, ressemblant, 04ca11fe, entendrez, vit, erroné, assigne, 2000, transact, facilité, déclarées, restent, buffer, atteignent, nécessite, disque, sysidxstats, filtrée, démonstration, êtes, expérience, right, pk_contact_contactid, incluant, décortiquer, regardons, nettoyé, faciliter, nature, violée, impliquée, entrer, séparé, moyen, lier, forçons, huit, secondes, millisecondes, 1200, lues, tracé, observons, différences, gardons, inclure, profitons, returns, reprenant, réutiliser, circonstances, songer, serions, tentés, sembler, rêve, diminution, redondant, modularisation, répétitive, encapsuler, udf, user, functions, provoquent, plage, manier, précaution, grand, égalité, offre, pourtant, compilateur, transformer, arithmétiques, capable, contenant, simplifier, connue, folding, sargable, efficacement, annuaire, connaissant, premières, lettres, lili, alameda, jim, nez, écrivez, alamedalili, latin1_general_ci_ai, jimenez, collate, appelle, évalué, stocké, empêchera, forcera, conséquent, search, impératif, mère, déportée, fille, mères, indexées, générale, liées, telle, définition, bénéficient, effectuent, employeeaddress, addressline1, postalcode, city, montrent, quoiqu, considérez, présentes, êtres, exprimées, ternaire, vrai, faux, inconnu, composées, absolue, disons, évolue, améliore, futur, probable, finisse, dépasser, déduire, clarté, anciennes, connues, chance, bénéficier, optimisations, solides, performante, nécessité, environ, 200, écrit, voulons, personnes, utilité, balancer, bannir, introduites, pivot, optimales, forcent, proches, fonctionnement, considérations, pur, 19973, déclaratives, triste, définissent, travaillent, entorses, hérésie, tuples, relation, précis, ordré, théorie, influant, tris, coûteuses, influe, importance, décomposée, récrite, having, lisible, légèrement, différente, identique, considérant, faible, volumétrie, 290, faits, derniers, identiques, incluent, normaliser, équivalentes, produisent, presque, bijou, algorithmique, connaissances, dispose, qualifié, tâche, ailleurs, forciez, prendrait, allez, librairie, commander, demandez, ouvrage, dites, catalogue, livres, distribués, noter, isbn, souhaite, copier, programme, inscrire, mon, merci, imprimer, parvenir, postale, distributeur, éditions, purement, prénoms, triés, prénom, title, cohérent, maître, décrit, désiré, enregistrés, courante, échoué, explorateur, programmability, unsuccessful, successful, disable, supprimer, prenant, générique, scénario, désagréable, profiteraient, cause, limitera, dégâts, sélectif, utilisera, défavorable, provoquant, suppression, params, module_or_batch, stmt, spécifiez, autoparamétrage, template, créez, modifiez, désactivez, activez, xlock, updlock, tablockx, partagé, tablock, normalement, escalade, larges, posés, rowlock, repeatable, repeatableread, attendre, libération, incompatibles, incomplète, obtient, argent, forcément, cinq, mode, readcommittedlock, readcommitted, paglock, désactive, attente, verrouillée, immédiatement, nowait, index_val, forceseek, touchent, abordons, succintement, entrant, ajoutent, laisser, respecteront, forceplan, envoyez, unicode, devant, littéral, caractère, indésirables, enregistrement, pouvoir, répertoire, xsd, référencé, modifiée, ultérieur, invalide, connaissez, meilleur, antérieure, dégradé, marbre, xml_plan, limite, récursifs, récursive, maxrecursion, nombre_de_récursions, satisfaire, inverse, seuls, expand, views, diminue, dûes, six, dûe, cachant, individuellement, diminuer, produites, forced, recompile, spécifier, risque, hétérogène, sélectives, choisie, considérée, paramètres, ajoute, souplesse, distribuée, représentative, optimisé, donnée, déjouer, pièges, literal_constant, définie, degree, attribuer, coûteuse, paralléliser, threshold, machine, impliqué, nombre_de_processeurs, structurel, changer, pourra, soupçon, ordres, gagnante, spécifie, détriment, double, tranchant, empirer, garantit, conséquence, goal, optimisée, poursuivre, pagination, fast, nombre_de_lignes, rares, exceptions, sait, concat, territoryid, customeraddress, customer, garde, tâcher, expliquer, comporter, intéressants, disposition, préférée, voire, prédéfini, disparu, génère, répéter, fonctionnalités, savez, conscient, répercutions, revue, spécifiques, résolution, appliquant, agrégat, regroupements, renvoyée, processor, could, produce, because, the, this, détecter, dûs, errors, warning, débordement, ralentit, nettement, sqlos, réserve, quantité, optimiste, pendant, baver, parle, spilling, souffre, désavantages, bloquant, complètement, terminée, travailler, eau, consommateur, équijointures, phases, premièrement, privilégié, jeux, préparation, grosses, ordonnées, nœuds, feuilles, préalable, équijointure, comparer, égalités, correspondances, conservée, suivantes, exprimés, lookups, proportionnellement, schématiser, rechercher, cherchait, second, implémente, udx, retournant, traitée, valued, provient, précéder, proriétés, sauve, intermédiaire, parcourues, opère, norme, implémentée, servent, sequenceproject, segment, distant, serveurs, distants, obsolètes, linked, normalise, intervalles


Text of the page (random words):
des de journaux de transactions modélisation gérer plusieurs auto incréments index clustered performances blocages bloquer l exécution de requêtes cardinality estimator conversions implicites diagnostic execution plan query store rcsi requêtes parallélisme réplication ajout de colonnes ressources liens utiles téléchargements livre optimiser sql server 00 introduction 01 règles de base 02 architecture 03 matériel 04 modèle de données 05 analyser les performances 05 2 compteurs de performances 05 3 événements étendus 06 indexation 06 statistiques et cardinalité 07 transactions et verrous 08 optimiser le code sql 09 procédures stockées 10 ressources du serveur reference sql server entreprise sur cette page lire un plan d exécution récupérer les plan d exécution les vues de gestion dynamique 8 1 1 les principaux opérateurs les algorithmes de jointure débordements de hachages gestion avancée des plans d exécution les indicateurs de requête et de table indicateurs de requête indicateurs de table les guides de plan optimiser son code sql écriture ensembliste comparaisons et filtres grandeur et misère des fonctions utilisateur compter les lignes d une table les tables temporaires vaut il mieux utiliser les variables de type table pour ou contre le sql dynamique éviter les curseurs optimisez vos déclencheurs limiter les pollings avec les notifications de requête tag cloud administration 3 alwayson ag 3 architecture 1 backup 1 configuration 1 dba 4 index 1 installation 1 journal de transactions 1 maintenance 2 maxdop 1 mémoire 1 parallelisme 1 performance 3 restauration 1 sargabilité 1 sauvegarde 1 shrink 1 sql server 12 sql server 2025 1 supervision 3 t sql 1 transaction log 1 windows server 1 wsfc 1 categories administration sql server 7 base de données 1 expertise 2 maintenance 1 performance tuning 1 sql server 5 docs livre optimiser sql server 08 optimiser le code sql optimiser le code sql chapitre 08 optimiser le code sql 66 minutes à lire objectif les efforts d optimisation doivent d abord se porter sur le code sql et la structure des données avant de considérer des mises à jour matérielles c est là où les problèmes se posent en général et c est là où l effet de levier est le plus important ce n est que lorsqu on a la garantie que le code et le schéma sont optimisés que la mise à jour matérielle doit être envisagée dans ce chapitre nous allons vous présenter les plans d exécutions générés par le moteur d optimisation de sql server qui vont vous permettre de juger de la qualité de votre code sql nous parlerons ensuite de différentes façons d écrire du code plus performant lire un plan d exécution lorsqu une requête est reçue par le moteur relationnel celui ci vérifie d abord si son plan d exécution est présent dans le cache de plans si non il doit créer ce plan cette phase est segmentée en quatre étapes nous avons schématisé l exécution d une requête dans la figure 8 1 fig 8 1 schéma de compilation le moteur de requête parse évalue d abord la requête pour en vérifier la syntaxe et la réécrit dans une structure qui sera utilisée pour l optimisation la phase de normalisation consiste à vérifier l existence des objets référencés et la logique de la requête par rapport à ces objets select from procédurestockée par exemple est illogique la compilation consiste à bâtir un arbre de séquence sequence tree pour décomposer la requête à cette étape des conversions implicites de types de données sont appliquées si nécessaire ainsi que le remplacement de l appel aux vues par l appel aux tables sous jacentes un graphe de requête query graph est créé qui est ce qui est envoyé à l optimiseur l optimisation intervient pour les requêtes dml select insert update et delete l optimiseur reçoit un graphe de requête et essaie de trouver la meilleure stratégie d exécution l optimiseur sql server est basé sur le coût cost based optimizer c est à dire qu il va orienter son choix vers le plan le moins coûteux pour cela il teste d abord la possibilité d utiliser un plan léger trivial plan dans le cas par exemple d un simple insert mldr le plan ainsi généré est mis en cache après avoir été potentiellement paramétré en cas d auto paramétrage ce plan d exécution est l information essentielle dont nous avons besoin pour évaluer la qualité du code de notre requête et ses performances estimées et pour considérer la création d index utiles nous avons plusieurs moyens de le visualiser le plus simple est d afficher une représentation graphique de ce plan dans ssms deux versions de ce plan y sont disponibles le plan dit estimé et le plan dit réel le plan estimé est celui qui est produit par l optimiseur et qui est affiché avant l exécution de la requête le plan d exécution réel est le même plan exactement que le plan estimé puisque ce plan est utilisé sans aucune sorte de modification dynamique en cours d exécution de la requête simplement le plan réel inclut quelques statistiques d exécutions effectives qui peuvent différer des statistiques estimées principalement sur le nombre de lignes affectées la combinaison de touches ctrl l affiche le plan estimé des instructions de la femêtre de requête active ou des instructions sélectionnées ctrl m prépare l affichage du plan réel dans un onglet supplémentaire de la fenêtre de résultat vous pouvez aussi les activer par des boutons de la barre d outils de l éditeur sql indiqués sur la figure 8 2 fig 8 2 barre d outils le plan d exécution est ainsi affiché dans une représentation graphique qui est l adaptation synoptique d un plan généré en format xml ce plan peut être sauvegardé dans un fichier avec un clic droit sur le plan et la commande save execution plan as mldr l extension par défaut est sqlplan lorsque vous ouvrez un fichier portant cette extension avec ssms la représentation graphique est générée ce qui est pratique pour afficher des plans exportés d une vision xml ou à partir d une trace nous trouvons en figure 8 3 un plan graphique simple fig 8 3 plan d exécution graphique correspondant à la requête select firstname lastname from person contact where lastname abercrombie vous voyez au passage que la requête a été auto paramétrée par le moteur relationnel puisque le texte statement visible dans le plan d exécution est select firstname lastname from person contact where lastname 1 nous verrons ce qu est l auto paramétrage dans la section 9 2 chaque icône représente un opérateur du plan c est à dire une opération effectuée sur les données nous les détaillerons dans la section suivante le plan se lit de droite à gauche la première opération effectuée se trouve en haut et à droite chaque opérateur produit une table en mémoire dont le résultat qui est envoyé à l opérateur suivant ce qu expriment les flèches le nombre de lignes transportées est représenté visuellement par l épaisseur des flèches sur la figure 8 3 toutes les flèches sont fines elles ne conduisent donc qu un petit nombre de lignes chaque opérateur ainsi que l instruction entière affichent un coût relatif en pourcent lors de l affichage du plan de plusieurs instruction le coût par instruction montre une estimation du poids relatif de chacune ce qui est pratique pour avoir un aperçu des performances comparées de plusieurs syntaxes de requête la touche f4 permet d afficher les propriétés du plan ou de chaque opérateur selon la sélection effectuée à la souris de même en laissant le pointeur de la souris posé sur un opérateur ou une flèche on peut en voir les détails dans une fenêtre de type info bulle nous voyons en figure 8 4 l affichage des propriétés et de l info bulle fig 8 4 propriétés et info bulle sont notamment utiles l estimation du nombre de lignes produit par l analyse des statistiques de distribution sur la colonne et la taille moyenne estimée de la ligne en octets la taille multipliée par le nombre nous donne une estimation du volume de données que le moteur de stockage va devoir transmettre d opérateur à opérateur nous pouvons voir directement ce calcul dans l info bulle des flèches le coût estimé de l opérateur est une addition des coûts cpu et i 0 estimés vous voyez également sur quel objet est effectuée l opération sur la figure 8 4 c est une recherche dans l index nix person_contact lastname quelles sont les colonnes résultantes qui sont envoyées à l opérateur suivant output list et le prédicat de filtre le scalaire n abercrombie qui est converti automatiquement en nvarchar pour correspondre au type de données de la colonne lastname le coût du sous arbre subtree cost est simplement la somme du coût de tous les opérateurs précédents plus le courant indiquant donc ce qu a déjà coûté le trajet si vous avez désactivé la création ou la mise à jour automatique de statistiques sur votre base de données vous verrez apparaître un signe d alerte sur les opérateurs de votre plan qui n auront pas les statistiques nécessaires à l estimation d une cardinalité dans le plan en xml l information sera contenue dans un élément warnings columnswithnostatistics il peut exister au plus deux versions d un même plan en cache une version monoprocesseur et une version parallélisée sql server choisit d utiliser l un ou l autre selon la charge des cpu à l exécution si le plan parallélisé est choisi tous les opérateurs enrôlés dans l exécution parallèle seront agrémentés d une image l indiquant comme en figure 8 5 fig 8 5 plan d exécution parallélisé pour ce plan nous avons forcé un mauvais plan en ajoutant un indicateur d index mal à propos l exécution en parallèle doit joindre les résultats provenant des différents threads ce qu il fait ici dans l opérateur parallelism gather streams grâce à cet affichage graphique vous avez tous les éléments pour comprendre rapidement comment votre requête est exécutée afin de l optimiser concentrez vous sur les opérateurs les plus coûteux et les flèches les plus épaisses un des objectifs de l optimisation est notamment de filtrer le nombre de lignes à traiter au plus tôt dans l arbre du plan d exécution le pire étant représenté par un nombre très important de lignes traitées au début pour aboutir à un petit nombre en fin de plan visuellement les flèches sont très épaisses à droite puis très fines à gauche par exemple que constatons nous sur la figure 8 5 comme nous avons forcé l utilisation d un index inutile pour résoudre le filtre de la clause where sql server est obligé de nous obéir il parcourt le nœud feuille de l index index scan pour en extraire les contactid contenus dans la clé de l index tous les index contiennent en plus la clé de l index clustered le résultat 19 973 lignes sont retournées pour un total de 125 ko comme nous pouvons le voir sur la figure 8 6 fig 8 6 envoi d un opérateur à l autre ces lignes donnant le contactid il faut maintenant aller chercher les colonnes firstname et lastname dans la table pour cela une recherche à travers l index clustered doit être faite pour chaque contactid ce qui est représenté ici par l opérateur de boucle imbriquée nested loop dont nous parlerons dans la section 8 1 2 sur les algorithmes de jointure pour chaque ligne de la flèche du haut une recherche est effectuée avec l opérateur du bas ici un bookmark lookup de type key lookup une recherche seek dans l index clustered c est cette opération qui plombe toute la requête elle vaut pour 98 de son coût total en effet il faut parcourir 19 973 fois l index clustered la flèche qui la relie au nested loop le montre dans le plan estimé cette flèche est fine parce que l estimation qui est faite par sql server est de une seule ligne retournée dans les propriétés de l opérateur nested loop ou de la flèche qui vient du key lookup nous avons l information du nombre de lignes donc de seeks de l index clustered qui ont été traités par thread comme nous le voyons sur la figure 8 7 fig 8 7 nested loop sur plusieurs threads lorsque toutes les lignes sont retournées avec la valeur de firstname et lastname elles sont envoyées 1 4 mo passe du nested loop au filter à un opérateur de filtre qui travaillant en mémoire va éliminer les lignes qui ne correspondent pas au prédicat de recherche lastname n abercrombie il n en restera que trois lignes envoyée à la synchronisation des threads parallélisés puis au client comme jeu de résultats nous verrons un peu plus loin les opérateurs plus en détail récupérer les plan d exécution outre l affichage graphique intégré à ssms vous avez plusieurs moyens de générer des plans d exécution tout d abord un certain nombre de commandes de session permettent l affichage du plan set showplan_xml on affiche le plan d exécution estimé complet en format xml sans exécuter l instruction set showplan_text on affiche le plan d exécution estimé simplifié en format texte une ligne de jeu de résultat par opérateur du plan sans exécuter l instruction set showplan_all on affiche le plan d exécution estimé détaillé avec estimations et alertes en format texte une ligne de jeu de résultat par opérateur du plan sans exécuter l instruction set statistics xml on affiche le plan d exécution complet réel en format xml après exécution de l instruction set statistics profile on affiche le plan d exécution détaillé réel en format texte une ligne de jeu de résultat par opérateur du plan après exécution de l instruction les commandes set showplan doivent être lancées dans leur propre batch sans aucune autre instruction vous devez donc les séparer de vos requêtes par un go dans ssms les commandes non xml sont considérées par microsoft comme en voie d obsolescence elles seront peut être supprimées dans une version ultérieure de sql server les commandes set showplan mldr affichent donc le plan estimé et les commandes set statistics le plan réel les quelques informations supplémentaires du plan réel sont visibles dans le plan xml dans les éléments runtimeinformation qui y sont ajoutés sur l affichage graphique du plan vous les trouvez dans les affichages détaillés lorsque vous glissez votre souris sur un opérateur ils commencent par actual mldr vous pouvez aussi récupérer ces plans à partir d une trace sql les événements à sélectionner sont dans le groupe d événements performance l événement performance statistics se déclenche quand un plan d exécution est inséré dans le cache de plans quand il est recompilé ou quand il est vidé du cache la colonne eventsubclass contient l identifiant du type d événement qui peut être un des suivants 0 un nouveau batch n est pas encore dans le cache la colonne textdata contient le code sql de la requête 1 des instructions dans une procédure stockée ont été compilées 2 des instructions dans un batch de requêtes ad hoc ont été compilées 3 une requête a été supprimée du cache et les données historiques de performances vont être détruites 4 une procédure stockée a été supprimée du cache et les données historiques de performances vont être détruites 5 un déclencheur a été supprimé du cache et les données historiques de performances vont être détruites les événements 1 4 et 5 retournent les colonnes databaseid e...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

    No Images


    Verified site has: 90 subpage(s). Do you want to verify them? Verify pages:

    1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
    51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90


    The site also has references to the 1 subdomain(s)

      pachadata.com  Verify


    Top 50 hastags from of all verified websites.

    Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

    Header

    HTTP/1.1 301 Moved Permanently
    Server nginx
    Date Sun, 16 Aug 2026 10:37:27 GMT
    Content-Type text/html
    Content-Length 162
    Connection close
    Location htt????/pachadata.com/docs/optimiser-sql-server/chapitres/080.optimiser-le-code/
    HTTP/1.1 200 OK
    Server nginx
    Date Sun, 16 Aug 2026 10:37:27 GMT
    Content-Type text/html
    Last-Modified Thu, 05 Mar 2026 11:28:34 GMT
    Transfer-Encoding chunked
    Connection close
    ETag W/ 69a968e2-456a0
    Content-Encoding gzip

    Meta Tags

    title="Optimiser le code SQL | Rudi Bruchez"
    charset="utf-8"
    name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"
    name="color-scheme" content="light dark"
    name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff"
    name="theme-color" media="(prefers-color-scheme: dark)" content="#000000"
    name="robots" content="index, follow"
    name="description" content="Chapitre 08 - Optimiser le code SQL"
    property="og:url" content="htt????/www.pachadata.com/docs/optimiser-sql-server/chapitres/080.optimiser-le-code/"
    property="og:site_name" content="Rudi Bruchez"
    property="og:title" content="Optimiser le code SQL"
    property="og:description" content="Chapitre 08 - Optimiser le code SQL"
    property="og:locale" content="fr"
    property="og:type" content="article"
    property="article:section" content="docs"
    property="article:published_time" content="2021-10-24T00:00:00+00:00"
    property="article:modified_time" content="2024-10-22T14:39:30+02:00"
    itemprop="name" content="Optimiser le code SQL"
    itemprop="description" content="Chapitre 08 - Optimiser le code SQL"
    itemprop="datePublished" content="2021-10-24T00:00:00+00:00"
    itemprop="dateModified" content="2024-10-22T14:39:30+02:00"
    itemprop="wordCount" content="13986"
    name="twitter:card" content="summary"
    name="twitter:title" content="Optimiser le code SQL"
    name="twitter:description" content="Chapitre 08 - Optimiser le code SQL"

    Load Info

    page size78544
    load time (s)0.103771
    redirect count1
    speed download762563
    server IP 195.154.191.111
    * all occurrences of the string "http://" have been changed to "htt???/"