Table des matières

SQL Optimisation

Méthode

  1. Identifier les requêtes les plus coûteuses
  2. Optimiser les requêtes les plus coûteuses

Il ne sert a rien d'optimiser des requêtes peux coûteuse.

Identifier les requêtes coûteuses

TODO

“PostgreSQL (comme la plupart des moteurs de bases de données) permet de loguer les requêtes ayant plus pris plus d'un certain temps. Cette option se configure via l'entrée log_min_duration_statement du fichier de configuration PostgreSQL (et peut se changer dynamiquement via une commande du type (la valeur étant en milisecondes) :”

set log_min_duration_statement=200;

cf. http://blog.pilotsystems.net/2011/aout/cas-pratique-doptimisation-de-postgresql

Optimiser une requête

TODO

“La clause where définit la condition de recherche d'une requête SQL et, de ce fait, elle tombe dans le domaine fonctionnel principal d'un index : trouver des données rapidement. Bien que la clause where ait un impact important sur les performances, elle est souvent mal écrite, si bien que la base de données doit parcourir une grande partie de l'index. Le résultat : une clause where mal écrite est la première raison d'une requête lente.” Cf. https://use-the-index-luke.com/fr/sql/la-clause-where

“La seule personne qui doit avoir la connaissance technique de la base de données et la connaissance fonctionnelle du métier est le développeur. Les développeurs ont une idée des données et connaissent les chemins d'accès aux données. Ils peuvent indexer les données correctement de telle manière à obtenir les meilleures performances pour l'application complète sans trop d'efforts.” Cf. https://use-the-index-luke.com/fr/sql/la-clause-where/index-concatenes

Liens utiles

https://use-the-index-luke.com/sql/anatomy

http://blog.pilotsystems.net/2011/aout/cas-pratique-doptimisation-de-postgresql

https://chartio.com/resources/tutorials/how-to-log-queries-in-postgresql/

http://blog.pilotsystems.net/2011/aout/cas-pratique-doptimisation-de-postgresql