Index de show sqlite

Index de show sqlite
«Un index est un type de structure de données qui intègre et optimise les valeurs d'une colonne (ou de colonnes) pour la recherche. Les index (ou indices) sont uniques aux recherches de base de données en ce qu'ils permettent de localiser certaines lignes d'une table sans scanner la table entière. En conséquence, les index peuvent améliorer considérablement les performances de certaines requêtes. Les index sont toujours associés à une seule table; Cependant, ils peuvent comprendre de nombreuses colonnes de la table.Normalement, les index permettent des valeurs en double; Cependant, le mot-clé unique empêche les valeurs en double d'être insérées ou mises à jour dans un tableau avec une valeur non unique. Parce que NULL n'est pas considéré comme une valeur, un index unique empêchera un ou plusieurs nuls d'apparaître. Vous devez spécifier non null dans la définition initiale du tableau pour empêcher les nuls.

Lorsque vous déposez un index, il est supprimé de la base de données, mais le tableau auquel il est associé n'est pas affecté.

Avec un exemple, nous apprendrons les index dans SQLite, comment définir des index sur des colonnes uniques ou nombreuses dans SQLite et comment supprimer ou supprimer les index SQLite; Ensuite, nous discuterons de la façon de les montrer en sqlite."

Syntaxe des index sqlite

Créer [unique] index [s'il n'est pas existant] index_name sur table_name (colonnes… n);

L'instruction Create Index est utilisée dans la syntaxe ci-dessus pour créer un nouvel index; Le nom d'index fourni fait référence à un nom d'index spécifique que nous devons générer. Les mots clés sur et l'index sont des mots clés, et le tableau spécifié fait référence à un tableau existant avec un nom de colonne.

Si nous avons plus d'un champ et que les données doivent être définies de manière unique afin que nous puissions utiliser le mot-clé unique, nous pouvons utiliser le mot-clé unique; Une clause unique est un composant facultatif de cette syntaxe.

Points clés de l'indice SQLite

  • L'utilisation d'un index accélère les recherches sélectionnées et où les clauses; Cependant, il décélère la saisie des données dans les opérations de mise à jour et d'insertion. Il n'y a aucune influence sur les données lorsque les index sont créés ou éliminés.
  • Un index est créé avec l'instruction CREATE INDEX. Il vous permet de nommer l'index, de fournir le tableau et quel index de colonne ou de colonnes, et de définir si l'index doit être dans l'ordre croissant ou décroissant.
  • Les index sont également uniques, de la même manière que la contrainte unique interdit les enregistrements en double dans la colonne ou la collection de colonnes sur lesquelles l'index est créé.

Comment les index fonctionnent-ils dans SQLite

Un tableau spécifique doit être connecté à chaque index. Un index peut inclure un ou même plus de champs, mais ils doivent tous être dans le même tableau. Plusieurs index peuvent être trouvés dans un tableau.

SQLITE fournit une structure de B-Tree pour stocker les données d'index chaque fois que vous ajoutez un index. Les index dans SQLite sont organisés à l'aide de la méthode B-Tree. Le B-Tree est un arbre équilibré plutôt qu'un arbre binaire, comme le B signifie équilibré.

L'indice comprend des valeurs des colonnes que nous avons définies dans l'index, ainsi que la valeur ROW_ID pour chacune de ces colonnes. SQLite peut désormais localiser rapidement la ligne à l'aide des entrées des champs indexés.

Imaginez un index de base de données similaire à un index de livre. Nous pouvons rapidement localiser plusieurs pages en fonction des mots clés en recherchant dans l'index.

Quand les index ne doivent pas être utilisés?

Bien que les index soient destinés à améliorer l'efficacité de la base de données, il existe des situations où elles devraient être ignorées. Quand un index doit être utilisé? Les facteurs suivants peuvent vous aider à prendre votre décision.

Il n'est pas recommandé d'utiliser des index dans:

  • Tables avec une petite empreinte
  • Des tables qui sont mises à jour ou insérées dans d'énormes lots.
  • Colonnes nuls.
  • Colonnes fréquemment modifiées.

Exemple 1

Tout d'abord, nous devons construire le tableau pour voir ses index. Nous avons montré un tableau ci-dessous, que nous avons créé avec la commande Create dans SQLite et également des champs définis de ce tableau.

Créer une table story_books (
book_id int clé primaire ,
book_name char (10) ,
Book_price Flaot
));

Maintenant, nous avons créé un index d'une seule colonne. Un index à une colonne est construit autour d'une seule colonne de base de données. Nous pouvons passer plusieurs colonnes à la fois pour créer des index d'un tableau particulier. Nous avons donné un seul nom de champ Book_name de la table Story_Books dans la requête suivante.

# Créer un index idx_story_books_book sur story_books (book_name);

En utilisant le .Méthode des index, l'index créé dans le tableau est visible comme suit:

Des index uniques sont utilisés pour l'intégrité des données ainsi que les performances. Un index unique empêche les valeurs en double d'être entrées dans le tableau. En utilisant la requête suivante, nous avons créé un index unique sur la colonne Book_id de la table Story_Book.

Créer un index unique idx_book_id
Sur story_books (book_id);

La sortie montre que l'index a été créé avec succès.

Nous avons créé un index sélectif sur un tableau Story_Book en incluant seulement une partie des enregistrements dans l'index. Comme nous avons utilisé une clause Where, seuls les enregistrements où le book_price n'est pas nul obtient un index partiel. Les enregistrements avec une valeur nulle pour book_name ne feront pas partie de l'index.

Créer un index idx_book_price
Sur story_books (book_price)
Où book_price n'est pas nul;

Lors de l'exécution du .Index Commande, il affiche les index dans le tableau. Comme vous pouvez le voir, cet index book_price est inclus.

Exemple 2

La commande DROP de Sqlite est utilisée pour supprimer un index. La suppression d'un index doit être effectuée avec prudence car la fonctionnalité peut être affectée. Ici, avec la commande DROP, nous avons une clause If exist. Si l'indice choisi n'existe pas, aucune exception ne sera générée. Il n'est pas obligatoire d'utiliser la clause if existant; Nous pouvons ignorer ceci et simplement laisser tomber la table. Nous avons abandonné l'index book_name de la table story_book par la requête suivante.

Drop index si existe idx_story_books_book_name;

L'index avec la colonne Book_name est supprimé comme indiqué dans le shell.

Exemple 3

Nous avons utilisé la table SQLite_Master au lieu d'utiliser le .Commande index. Bien que ce tableau contient plus que de simples index, vous pouvez utiliser la clause où la limiter aux index uniquement.

SÉLECTIONNER
Nom, tbl_name
…> De sqlite_master
…> Où type = 'index';

Nous avons le tableau auquel chaque index correspond. La colonne TBL_NAME le maintient comme suit.

Conclusion

Dans cette section, nous avons examiné les bases de l'établissement d'un index dans SQLite et discutons de la façon de montrer que les index dans SQLite avec quelques exemples. Ces exemples sont faciles à utiliser et aussi les façons qui montrent les index dans le SQLite. Lorsque vous lisez l'intégralité de l'article, vous pourriez être extrêmement clair.