Fermer

La plupart des applications Web développées aujourd’hui utilisent différents types de base de données sur un serveur. Même si on constate une augmentation de la technologie côté serveur (que ce soit par NoSQL ou des systèmes tel que Node.js), les problèmes de performance sont encore importants.

Si vous travaillez avec des applications pour lesquelles vous portez une importance toute particulière à une base de données standard SQL, la compréhension des facteurs de performance est essentielle, surtout si vous avez affaire à un grand nombre de données et/ou d’utilisateurs.

Pour vous aider dans cette démarche, SQL Performance explique dans un eBook libre, destiné aux développeurs, comment construire vos applications utilisant une base de données et l’optimiser au mieux. Il évite les détails inutiles au sujet interne des bases de données mais souligne le sujet qui est le plus souvent négligé : l’indexation appropriée.

Présentation des performances SQL - SQL Performance

Les problèmes de performance sont aussi vieux que SQL lui-même. Certains disent que SQL est intrinsèquement lié à de mauvaises performances. Bien qu’il eût été vrai dans les premiers jours de SQL, ce n’est certainement plus le cas aujourd’hui.. Néanmoins les problèmes de performances SQL sont partout, tous les jours. Comment cela se fait ?

Le langage SQL est peut-être le plus réussi de la quatrième génération (L4G). L’objectif principal de SQL est de séparer le “quoi” du “comment”. Une instruction SQL est une expression, dont il n’est pas nécessaire de connaître le fonctionnement pour obtenir les instructions. Prenons l’exemple suivant :

[sourcecode language=”SQL”]
SELECT color
FROM cars
WHERE name = ‘AUDI’
[/sourcecode]

L’écriture de cette instruction SQL ne nécessite pas de connaissances sur les propriétés physiques de stockage (tels que les disques, fichiers, blocs, etc…) ou des connaissances sur la manière dont la base de données exécute cette déclaration. Du point de vue du développeur, la base de données est une boîte noire… Bien que ceux-ci savent beaucoup sur la façon d’écrire des requêtes SQL, ils n’ont pas besoin de connaître quoi que ce soit sur le fonctionnement interne d’une base de données. Cette abstraction améliore grandement la productivité des programmeurs et fonctionne très bien dans presque tous les cas. Cependant, il y a un problème commun où l’abstraction ne fonctionne plus : la performance.

C’est là où la séparation du “quoi” et du “comment” intervient. Par définition, l’auteur de l’instruction SQL doit se soucier si celle-ci est exécutée. Par conséquent, l’auteur n’est pas responsable si l’exécution est lente. Toutefois, l’expérience prouve le contraire : l’auteur doit en savoir un peu plus sur la base de données SQL pour écrire des requêtes efficaces. Comme il s’avère que c’est la seule chose que les développeurs ont besoin de savoir pour écrire des requêtes SQL efficaces, ils ont besoin de connaître comment fonctionnent les index.
Effectivement des index manquants et inadéquates sont parmi les causes les plus fréquentes des mauvaises performances de SQL. Une fois que la mécanique des index est comprise, une mauvaise performance sur les instructions SQL disparaît automatiquement.

L’eBook de SQL Performance couvre tout ce dont un développeur doit savoir pour utiliser correctement les index et rien de plus. La structure du livre est faite sur mesure pour les développeurs, la plupart des chapitres correspond à une partie spécifique d’une instruction SQL.

  • Chapitre 1 : Anatomie d’un index
  • Chapitre 2 : La clause Where
  • Chapitre 3 : Tests et Évolutivité (courant 2012)
  • Chapitre 4 : Jointures (courant 2012)
  • Chapitre 5 : Extraction de données (courant 2012)
  • Chapitre 6 : Tri, Regroupement et Partitionnement (courant 2012)
  • Chapitre 7 : Vues (courant 2012)
  • Chapitre 8 : Techniques avancées (courant 2012)
  • Chapitre 9 : Insertion, Suppression et Modification (Insert, Delete, Update) (courant 2012)

Je vous laisse découvrir la suite de cet eBook très intéressant. Vous pouvez également consulter les différents chapitres en ligne à cette adresse : http://use-the-index-luke.com/

Plutôt cool, non ?

Mots-clé : eBookoptimisationperformancesSQLSQL Performance
Yohann Poiron

L’auteur Yohann Poiron

J’ai fondé le BlogNT en 2010. Autodidacte en matière de développement de sites en PHP, j’ai toujours poussé ma curiosité sur les sujets et les actualités du Web. Je suis actuellement engagé en tant qu’architecte interopérabilité.