Index 3 - les meilleures pratiques de conception d'index et l'indice de l'échec

9.7 Meilleures pratiques de conception d'index

Nous devons d'abord comprendre l'environnement du système, ce système, OLTP, OLAP. En savoir plus, ou écrire plus. exécuter des requêtes sur la base de données d'une petite base de données pour exécuter un grand nombre de requêtes nécessitent moins index.

Considérons un index cluster est prévu pour chaque table - la table entière devient séquentielle

   Utilisation de la table d'index d'agrégation de données est une séquence en cluster de clé d'index est présente dans le magasin de la pile à la place. L'avantage d'utiliser l'index cluster est telle que l'ordre des clés d'index en cluster de données stockées, et de telle sorte qu'après insertion de l'élément reste dans cet ordre.

Chaque table doit avoir une clé primaire, de sorte que chaque table doit avoir un ou plusieurs indices qui permettent à un index d'être index ordonné en clusters. index cluster lui-même ne fait pas un plus index sur la table, mais pour mieux organiser la structure de la table.

    Lorsque vous sélectionnez la clé d'index ordonné en clusters, clé d'index cluster doit être unique, à court et à essayer de ne pas avoir besoin de changer.

Tableau 2 définir la clé primaire

    Bien que SQL Server n'est pas obligatoire pour définir la clé primaire. Mais pas une table de clé primaire, peu importe dans un environnement OLTP ou OLAP est une chose dangereuse, parce qu'il n'y a pas de clé primaire ne peut garantir que chaque voyage est unique. Ensuite, vous ne pouvez pas savoir si les deux mêmes lignes de données existent dans la table, surtout quand vous n'avez pas assez d'informations pour analyser ce point.

    Bien que SQL Server n'est pas obligatoire de définir une clé primaire, mais la clé primaire est une théorie de base de données relationnelle clé. Si aucune contrainte de clé primaire, associée à un index unique ou opérations connexion, il peut produire des problèmes de performances inattendues.

 

3 Utilisez le facteur de remplissage pour réduire la page divisée

Pensez à utiliser un facteur de remplissage pour réduire la page divisée

Les données ajoutées à la table a atteint la page maximum peut être logé. Donc, puis insérez les données provoquera une scission de page. facteur de remplissage peut être utilisé lors de la reconstruction de l'index, si la base de données est supérieure à la lecture-écriture, puis, 75 est fourni, sensiblement égale si la lecture, définissez le facteur de remplissage de 90-95 facteur de remplissage.

4 table de clé primaire, clé étrangère doit avoir un indice

La clé étrangère est définie sur la colonne de gauche de l'index cluster sont les données du tableau sont regroupées et organisées en fonction de la valeur de cette colonne, qui est requis pour la requête. Par exemple, vous le consommateur avec une carte de crédit et ce comportement est associé à la carte la plus forte, pas votre carte de crédit et des centres commerciaux ainsi que les banques face à cette consommation. Ensuite, un numéro de carte de crédit comme un index ordonné en clusters des dossiers de consommation dans la colonne de gauche de la table, de sorte que toutes les informations des consommateurs sera la même carte il y a une page continue.

Bien sûr, vous avez encore besoin de quelques changements supplémentaires dans le numéro de carte de crédit de colonnes et de colonne combinés pour garantir l'unicité des clés d'index ordonné en clusters.

Principe 5 indexé

A apparaissent fréquemment dans le champ Où la clause, en particulier dans le domaine des grandes tables doivent être indexés;

Tableau B souvent reliée aux autres tables doivent être indexés dans le domaine de la connexion;

indice C devrait être dans le domaine de la haute sélectivité;

indice D devrait être construit sur un petit terrain, pour les grands champs de texte et les champs même temps, non indexé;

E construire indice composite doit être soigneusement analysé, essayez de considérer au lieu d'un seul indice sur le terrain:

Que ce soit l'indice composite F plusieurs champs souvent tout et apparaître sur la clause Where d'une requête si un seul champ avec peu ou pas si oui, vous pouvez construire indice composite, ?? Sinon considérer index un seul champ;

G la manipulation des données de table fréquentes, ne créent pas trop d'un indice;

H supprimer les index inutilisés, pour éviter un impact négatif sur le plan de mise en œuvre;

Je index inutile, comme champ de genre sur le champ de valeur moins différentes;

J pour la colonne d'éviter l'indexation fréquemment consultés;

L'index de colonne (clé primaire / clé étrangère) K pour le couplage;

 

9.8 Le non Index

1 prédicat de requête ne pas utiliser l'index principal de la frontière, autrement dit select *, il peut conduire à prendre l'indice.

2, les petites tables de la base de données ou besoin de sélectionner la plupart des données, ne prenez pas l'indice

3 champ de caractères lorsque les numéros ne correspondent pas entre guillemets où les conditions à l'intérieur.

4 ,! = Ou <> (pas égal à), non, existe pas conduire à prendre l'indice,

5, les listes d'index calcul fonction ou opération, entraînant l'indice ne vont pas

6, les conversions implicites conduisent à prendre l'indice. SELECT * FROM T Y = 5, SELECT * FROM T OÙ TO_NUMBER (Y) = 5, cette fois, il était possible d'utiliser moins de l'indice.

7. Mettre en place un index composite, mais le prédicat de la requête n'a pas été utilisé dans la première colonne de l'indice composite, une référence d'index composites dans la colonne d'index autres que la première position seulement.

8, comme '% liu' pour cent avant

9. conditions avec ou, même si l'indice de bande conditionnelle, une requête ne peut pas utiliser l'index pour être utilisé union

 

Indice de défaillance, la pleine valeur de mes matchs favoris, la meilleure règle préfixe gauche, ne font rien dans la colonne d'index, la colonne de la gamme des conditions non de l'indice, à réduire l'utilisation de select *, l'utilisation ne correspond pas (! = ou <>) ne peut pas utiliser l'index, l'utilisation est nulle ou non nulle ne peut pas utiliser un index, comme le début a été le caractère générique (% abc) conduit à l'échec de l'indice. ou moins

Publié 37 articles originaux · louanges gagnées 0 · Vues 2416

Je suppose que tu aimes

Origine blog.csdn.net/syjhct/article/details/86696670
conseillé
Classement