10 astuces de réglage des performances de SQL Server pour faire exploser votre base de données

La maintenance et les mises à jour régulières sont des éléments essentiels pour garantir que les bases de données et les serveurs restent utilisables. De nombreuses pratiques courantes s’accompagnent d’un prix élevé et de faibles résultats, et de nombreux développeurs ont commencé à utiliser des méthodes alternatives pour améliorer les performances de leur serveur.

🔥 Produits recommandés : Canon EOS R6 IIDJI Mini 4 ProMacBook Pro M4

L’optimisation des requêtes permet de corriger les requêtes mal écrites et les index qui ne sont pas efficaces. Utilisez ces 10 conseils pour améliorer votre base de données en un clin d’œil.

1. Séparer les fichiers de données et les fichiers journaux

Cette pratique est souvent négligée sans raison valable. Dans la mesure du possible, les fichiers de données et les fichiers journaux doivent être séparés sur des disques physiques différents, en particulier lorsque l’on utilise un système DAS ou SAN. L’objectif est de séparer l’accès aléatoire aux données de l’accès séquentiel, qui se produit lors de l’écriture des journaux de transactions.

Parfois, les lecteurs sont découpés dans la même matrice de disques plus large plutôt que dans des lecteurs physiques différents, ce qui va à l’encontre de l’objectif de séparation.

2. Sélection limitée de données

Une requête s’exécutera plus rapidement s’il y a moins de données à extraire. Effectuez autant de filtrage que possible sur le serveur. Moins de données seront envoyées et les résultats seront visibles plus rapidement. Par exemple, même les plus petits changements, comme la suppression du terme « City » de « New York City », amélioreront les performances du serveur SQL.

3. Ne pas réduire les fichiers de données

La réduction des fichiers de données est une mauvaise pratique en général et peut avoir un impact sur les performances de plusieurs façons, notamment par la fragmentation et la détérioration des requêtes. Si l’initialisation instantanée des fichiers n’est pas activée, la croissance qui en résulte peut avoir un impact négatif sur les performances et provoquer des dépassements de délai. Il peut arriver que la réduction des fichiers de données soit nécessaire, mais assurez-vous d’en connaître l’impact avant d’agir.

ADVERTISING

4. Statistiques de la base de données

Un optimiseur analysera les statistiques et choisira le chemin le moins coûteux afin de satisfaire une requête. Des statistiques obsolètes ou manquantes entraîneront un temps de réponse plus long car le chemin choisi sera moins optimisé.

5. Prédéterminer la croissance attendue

Vous pouvez minimiser l’effet négatif des index en spécifiant la valeur appropriée du facteur de remplissage lors de l’indexation. Lorsque la valeur d’une table est modifiée, la base de données doit réorganiser les données stockées pour tenir compte des nouvelles lignes. Si vous vous attendez à des ajouts réguliers de nouvelles lignes, vous pouvez spécifier cette croissance pour un index.

6. Modifier la limite de mémoire MAX

Les versions 64 bits des serveurs SQL ont bénéficié d’améliorations récentes en termes d’allocation de mémoire et de partage avec le système d’exploitation, mais laisser le paramètre de mémoire MAX par défaut n’est pas idéal.

Vous devez définir le paramètre de mémoire MAX à un minimum de 1 ou 2 Go de moins que la quantité totale de mémoire sur le serveur. La quantité de mémoire laissée dépend des programmes en cours d’exécution et de la quantité de mémoire qu’ils requièrent.

7. S’en tenir à des changements uniques

Plutôt que d’effectuer de nombreux changements en une seule fois et de risquer de compromettre l’efficacité de votre requête, essayez de trouver les requêtes les plus coûteuses et d’ajuster la requête en conséquence. En procédant à de petites modifications une à une, vous obtiendrez plus facilement des résultats optimaux.

8. Avant de charger les données, supprimer les index

Cela permettra à l’instruction d’insertion de s’exécuter plus rapidement. Une fois les insertions terminées, vous pouvez refaire l’index. Utilisez une table temporaire pour charger les données si vous devez insérer des milliers de lignes dans un système. Il est beaucoup plus rapide de déplacer des données d’une table à l’autre que de les charger à partir d’une source externe.

ADVERTISING

9. Utilisation des contraintes

L’analyse avancée des requêtes peut bénéficier de la connaissance et de l’utilisation des contraintes. Évitez le chevauchement ou la duplication des index en examinant les index, les clés et les contraintes existants. Les informations relatives aux index existants sont accessibles en exécutant sp_helindex.

Votre vie est-elle équilibrée ?

Évaluez l’équilibre de votre vie à l’aide de notre auto-évaluation Temps/Vie et obtenez gratuitement un rapport personnalisé.

Vous découvrirez vos points forts en matière de gestion du temps, vous découvrirez des opportunités cachées et vous façonnerez votre vie comme vous l’entendez.

Faites l’évaluation gratuite

10. Colonnes supplémentaires

Lorsqu’il y a des colonnes supplémentaires dans la base de données, le système est moins performant. En effet, il devient de plus en plus difficile pour l’exécution du processus d’utiliser des opérations spécifiques de l’index. Pour trouver d’éventuelles colonnes supplémentaires, utilisez les fonctions SELECT* ou scalaire pour examiner de près la requête.