Comment trouver les index manquants dans votre base de données

Qu'est-ce que l'indexation ?

Dans l'optimisation des bases de données, l'indexation consiste à créer des structures de données auxiliaires qui accélèrent l'accès aux informations stockées dans la base de données.

Un index est généralement créé sur une colonne pour accélérer les opérations comme les jointures, les recherches, les filtres et le tri. Sans index, le moteur de base de données effectue un scan complet de table (full table scan), ce qui est consommateur de ressources et très lent.

Les index aident la base de données à localiser et accéder rapidement aux données pertinentes, réduisant considérablement le temps d'exécution des requêtes et améliorant les performances globales.

Avantages des index

  • Amélioration des performances de requêtes : Les index accélèrent la récupération des données lorsque les colonnes sont utilisées dans les clauses WHERE, HAVING, ou GROUP BY.
  • Accélération du tri : Les index améliorent les performances lorsque la colonne est utilisée dans la clause ORDER BY.
  • Optimisation des jointures : Les jointures entre tables s'exécutent plus rapidement en localisant rapidement les lignes correspondantes.
  • Réduction des accès disque : Moins de blocs de données sont lus, minimisant l'utilisation des ressources.
  • Optimisation des agrégations : Les fonctions comme COUNT, SUM et AVG s'exécutent plus rapidement lorsque les colonnes pertinentes sont indexées.

Comment Visual Expert facilite cette tâche

Visual Expert analyse le schéma de votre base de données, le code applicatif et les requêtes SQL qu'il contient.

Il détecte automatiquement :

  • Les colonnes utilisées dans les clauses WHERE, GROUP BY, HAVING, ou ORDER BY.
  • Vérifie si ces colonnes sont déjà indexées.
  • Génère une liste des index manquants pour vous aider à optimiser les performances des requêtes.

Identifier les index manquants avec Visual Expert

Prérequis

  • Utilisez Visual Expert 2025 (Client Desktop ou Web).
  • Incluez les définitions d'index (CREATE INDEX ...) dans votre projet VE :
    • Via des fichiers SQL, ou
    • En connectant Visual Expert directement à votre base de données.

Choisir une stratégie d'analyse

Selon vos besoins, vous pouvez choisir de vérifier :

  1. La base de données entière
    Idéal pour les petites bases de données ou lorsque la plupart des index existent déjà. Dans le cas contraire, vous pourriez obtenir un résultat volumineux difficile à exploiter.
  2. Une sélection de tables
    Recommandé pour vérifier certaines parties du modèle de données ou optimiser certaines fonctionnalités lentes.
  3. Une sélection d'objets de code
    Recommandé pour vérifier que le code nouveau ou modifié n'introduit pas de requêtes SQL nécessitant de nouveaux index. Également utile pour inspecter les fonctionnalités critiques en termes de performances.

1. Vérifier la base de données entière

  1. Ouvrez Visual Expert.
  2. Sélectionnez [Tables] à la racine de l'arborescence.
  3. Dans la barre de navigation, cliquez sur [Index manquants].

    Les colonnes nécessitant un nouvel index sont listées dans une hiérarchie de conteneurs.
Vérifier les index manquants pour toutes les tables

Optionnel - Vérifier une colonne spécifique :

  • Sélectionnez la colonne dans l'arborescence.
  • Dans la barre de navigation, allez à Références croisées → Analyse d'impact (arbre).
  • Les objets et requêtes référençant cette colonne sont listés.
  • Sélectionnez les objets ou requêtes pour voir les références exactes—certaines d'entre elles appartiendront aux clauses WHERE, GROUP BY, HAVING, ou ORDER BY.

Étapes suivantes :

  • Partagez la liste des index manquants avec votre DBA.
  • Une fois les index créés, relancez l'analyse pour valider les améliorations.
  • Répétez régulièrement pour maintenir des performances optimales.
Vérifier les index manquants dans les colonnes de table

2. Vérifier une sélection de tables

Visual Expert vérifiera si un index doit être créé pour chaque table sélectionnée.

  1. Ouvrez Visual Expert.
  2. Recherchez les tables que vous voulez analyser :
    • Client Desktop : Allez à l'onglet [Recherche].
    • Client Web : Ouvrez les [Critères de recherche] dans le ruban bleu.
  3. Entrez vos critères ["Nom du composant" contient "cust"].
  4. Dans le champ [Rechercher dans], sélectionnez "tables".
  5. Cliquez sur [Rechercher].
Trouver les index manquants dans les tables sélectionnées
  1. Un nouvel onglet est créé, avec les tables correspondant à vos critères.
    Tables trouvées avec des index manquants
  2. Sélectionnez une ou plusieurs tables (utilisez Ctrl pour la sélection multiple).
  3. Dans la barre de navigation, allez à Revue de code → Index manquants.
  4. Les colonnes nécessitant un nouvel index sont listées dans une hiérarchie de conteneurs.
    Vérifier les index manquants pour les tables sélectionnées

Si nécessaire, vous pouvez vérifier qu'une colonne particulière nécessite bien un index :

  • Sélectionnez la colonne dans l'arborescence.
  • Dans la barre de navigation, allez à Références croisées → Analyse d'impact (arbre).
  • Les objets et requêtes référençant cette colonne sont listés.
  • Sélectionnez les objets ou requêtes pour voir les références exactes—certaines d'entre elles appartiendront aux clauses WHERE, GROUP BY, HAVING, ou ORDER BY.

Suivi :

  • Transmettez l'information à votre DBA pour créer les index manquants ;
  • Une fois créés, ils n'apparaîtront plus dans l'analyse
  • Répétez régulièrement pour garder votre base de données optimisée.
Vérifier les index manquants dans les colonnes de table

3. Vérifier une sélection d'objets

Visual Expert analysera les requêtes SQL intégrées dans les objets sélectionnés, et vérifiera si les colonnes référencées par ces requêtes nécessitent un nouvel index.

  1. Ouvrez Visual Expert.
  2. Recherchez les objets que vous voulez analyser :
    • Client Desktop : Allez à l'onglet [Recherche].
    • Client Web : Ouvrez les [Critères de recherche] dans le ruban bleu.
  3. Entrez des critères de recherche, par exemple "Nom du composant" contient "cust".
  4. Dans le champ [Rechercher dans], sélectionnez le type d'objet requis, par exemple "Procédures".
  5. Cliquez sur [Rechercher].
Trouver les index manquants dans les procédures
  1. Un nouvel onglet est créé, avec les objets correspondant à vos critères.
    Index manquants trouvés dans les procédures
  2. Sélectionnez un ou plusieurs objets (utilisez Ctrl pour la sélection multiple).
  3. Allez à Revue de code → Index manquants.
  4. Visual Expert affiche les colonnes nécessitant un nouvel index dans une hiérarchie de conteneurs.
    Vérifier les objets nécessitant des index

Optionnel - Vérifier un index manquant particulier :

  • Sélectionnez une colonne dans l'arborescence.
  • Le code utilisant cette colonne est affiché dans la vue du code source
  • La référence exacte est surlignée dans le code pour une vérification facile—cette colonne peut être utilisée dans les clauses WHERE, GROUP BY, HAVING, ou ORDER BY.

Étapes suivantes :

  • Transmettez l'information à votre DBA pour créer les index manquants ;
  • Une fois créés, ils n'apparaîtront plus dans l'analyse
  • Répétez régulièrement pour garder votre base de données optimisée.
Vérifier les index manquants des objets colonnes

 

Plus d'informations sur l'optimisation des performances de base de données

Visual Expert, Analyse de code, Optimisation de base de données, Performance du code, Index manquant