Maison >base de données >tutoriel mysql >Index SQL Server : croissant ou décroissant ? Quand devriez-vous choisir lequel ?
Index SQL Server : Ascendant ou Décroissant ?
Lors de la création d'un index dans SQL Server, vous pouvez choisir si l'index est par ordre croissant ou décroissant. Ce paramètre est souvent négligé, mais joue un rôle essentiel lorsque vous travaillez avec des index composites.
Indice composite
Les index composés s'étendent sur plusieurs colonnes et peuvent être utilisés pour le tri de différentes manières. Par exemple, considérons l'index suivant :
<code class="language-sql">CREATE INDEX ix_index ON mytable (col1, col2 DESC);</code>
Cet index peut gérer efficacement les requêtes suivantes :
<code class="language-sql">SELECT * FROM mytable ORDER BY col1, col2 DESC; SELECT * FROM mytable ORDER BY col1 DESC, col2;</code>
Cependant, il ne peut pas prendre en charge les requêtes qui nécessitent de trier col1 et col2 par ordre croissant :
<code class="language-sql">SELECT * FROM mytable ORDER BY col1, col2;</code>
Index à colonne unique
Pour les index à colonne unique, la sélection de l'ordre croissant et décroissant est moins significative. Cependant, un cas extrême se présente lorsqu'il s'agit de tables agrégées (tables dont les lignes sont physiquement ordonnées en fonction d'une clé spécifique).
Dans ces tableaux, si vous créez un index décroissant sur une colonne non clé, cela affectera l'ordre interne des données. Cela peut entraîner des problèmes de performances lors de l'interrogation des clés de cluster par ordre décroissant :
<code class="language-sql">SELECT col1, pk FROM mytable ORDER BY col1, pk DESC;</code>
En résumé, le choix des index ascendants et décroissants dépend du modèle de requête attendu. Pour les index composites, il garantit des performances optimales pour des exigences de tri spécifiques. Pour les index à colonne unique dans les tables clusterisées, cela affecte l'efficacité des requêtes impliquant des colonnes non clés et des clés clusterisées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!