Question

Quel est le meilleur moyen pratique d'apprendre le réglage d'index lors de l'écriture de requêtes tsql? J'ai VS2008 SQL Express. Quelqu'un pourrait-il me fournir des exemples, etc.? J'ai déjà trouvé des articles en ligne et ils sont excellents en théorie, mais je ne parviens toujours pas à voir l'indexation dans l'action réelle. Existe-t-il de petits exemples faciles à créer?

Était-ce utile?

La solution

Pour ajuster les index, vous avez généralement besoin de grandes tables avec beaucoup de données. Par conséquent, de petits exemples simples ne sont pas faciles à trouver.

Mon expérience concerne les outils SQL 2000. Analyseur de requêtes, affichant le plan d'exécution et examinant les types d'index et de jointures utilisés. Très difficile à décrire ici.

Je peux recommander un bon livre sur le sujet, en particulier le chapitre 9.

http://www.amazon.com/Professional-Server-Performance-Tuning- Programmeur / dp / 0470176393

Je vous déconseillerais d'utiliser les outils de réglage d'index automatisés jusqu'à ce que vous sachiez comment le faire vous-même manuellement. Je pense qu'il est important, lorsqu'il recommande d'ajouter un index, que vous ayez la possibilité de vérifier l'intégrité de la recommandation et de décider par vous-même si c'est une bonne option. Il vous sera souvent recommandé d’ajouter un " revêtement " index avec plusieurs colonnes afin d’accélérer l’analyse d’une requête unique que vous avez demandé d’analyser, mais cela peut avoir des effets négatifs sur l’ensemble de votre base de données lorsque vous examinez toutes les requêtes dans cette table.

Autres conseils

Kimberly Trip (déesse SQL) est une experte et a beaucoup parlé. beaucoup écrit sur le sujet:

http://www.sqlskills.com/BLOGS/KIMBERLY/category /Indexes.aspx

Si vous avez l'édition SQL Developer, vous souhaitez consulter l'assistant de réglage du moteur de base de données.

Si vous utilisez le profileur pour capturer une charge de travail standard avec votre base de données, le DETA peut vous indiquer les statistiques et les index que vous pouvez appliquer.

Attention, l'optimisation nécessite beaucoup de réflexion, car l'ajout de nouveaux index peut augmenter la vitesse de votre charge de travail, mais vous pouvez augmenter la vitesse d'une requête sans importance au détriment d'un très important.

Il existe un bon livre sur TSQL Querying qui contient de très bons conseils sur le fonctionnement des requêtes et leur réglage, qui sont spécifiques à MSSQL.

Dans SQL Server, si le schéma de votre base de données est plus simple, vous n'avez pas vraiment besoin de beaucoup d’accord, car les clés primaires génèrent automatiquement un index en cluster et les contraintes de clé étrangère nécessitent un index unique. Ainsi, vos jointures sont généralement prises en charge.

La recherche devient difficile avec les filtres que les requêtes de l'application utilisent. Vous devrez examiner spécifiquement ces requêtes et identifier des candidats pour des index supplémentaires.

Une autre option est SQL Server Tuning Advisor, mais je décourage son utilisation, car elle génère beaucoup de bruit. Vous pouvez toutefois l'utiliser pour rechercher les requêtes les plus problématiques.

Pour identifier vos requêtes les moins performantes, reportez-vous à ma réponse ici .

Apprendre à syntoniser est quelque chose qui nécessite de la pratique. Si vous souhaitez vous perfectionner, commencez par acheter le livre de Sajal Dam Optimisation des performances de la requête SQL Server. Distillé

Le manuel d'optimisation et de réglage des performances de Microsoft SQL Server 2000 de Ken England est un classique. (Les critiques d'Amazon disent que la version 2005 de ce livre n'est pas aussi bonne)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top