Démarrer l'essai gratuit
Searching...
SoBrief
Français
EnglishEnglish
EspañolSpanish
简体中文Chinese
繁體中文Chinese (Traditional)
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
The Art of SQL
Essayez l'accès complet pendant 3 jours
Débloquez l'écoute et bien plus !
Continuer

Points clés

1. La maîtrise du SQL exige une compréhension de la théorie relationnelle et de sa mise en œuvre physique

Le SQL est un langage déclaratif, il convient donc de prendre du recul par rapport à la nature procédurale des spécifications métier.

Fondements relationnels : Le SQL repose sur la théorie relationnelle, qui offre une base mathématique pour la manipulation des données. Comprendre cette théorie est essentiel pour rédiger des requêtes efficaces. Le modèle relationnel traite des ensembles de données, permettant des opérations puissantes telles que les jointures, les unions et les intersections.

L’importance de la mise en œuvre physique : Bien que le SQL soit déclaratif, c’est-à-dire que vous spécifiez ce que vous souhaitez obtenir plutôt que la manière d’y parvenir, la connaissance de la mise en œuvre physique sous-jacente peut considérablement améliorer les performances des requêtes. Cela inclut la compréhension de :

  • la manière dont les données sont stockées sur disque,
  • le fonctionnement des index,
  • les décisions prises par l’optimiseur de requêtes.

Combler le fossé entre la théorie relationnelle et la mise en œuvre physique permet aux développeurs d’écrire des requêtes à la fois logiquement correctes et performantes.

2. Un design de base de données efficace est la clé de la performance

Manipuler des données pour le simple plaisir des données mène inévitablement à l’échec.

La normalisation est essentielle : Un design de base de données bien normalisé (généralement jusqu’à la troisième forme normale) garantit l’intégrité des données et minimise les redondances. Cela se traduit par :

  • une maintenance et des mises à jour facilitées,
  • une réduction des anomalies de données,
  • une interrogation plus souple.

Évitez les erreurs courantes : De nombreux problèmes de performance proviennent de choix de conception inappropriés, tels que :

  • l’usage excessif de colonnes pouvant contenir des valeurs nulles,
  • l’emploi inadapté de clés substituts,
  • une modélisation incorrecte des données hiérarchiques.

Un design solide constitue une base pour des requêtes efficaces et des applications évolutives. Il est bien plus simple d’optimiser des requêtes sur une base bien conçue que de compenser un mauvais design par des requêtes SQL complexes.

3. La construction dynamique de SQL nécessite une élaboration intelligente des requêtes

Plus l’intelligence est grande dans la construction dynamique d’une requête SQL, plus la requête sera efficace.

Évitez les solutions universelles : Lors de la création de SQL dynamique, résistez à la tentation de concevoir une requête unique et complexe couvrant tous les cas possibles. Préférez plutôt :

  • analyser les différents schémas de requêtes susceptibles d’apparaître,
  • élaborer des modèles de requêtes distincts pour chaque scénario,
  • utiliser une logique conditionnelle pour sélectionner le modèle approprié.

Utilisez des variables liées : Lors de la construction dynamique, employez toujours des variables liées plutôt que de concaténer directement des valeurs dans la chaîne SQL. Cela permet de :

  • renforcer la sécurité en évitant les injections SQL,
  • améliorer la mise en cache et la réutilisation des plans d’exécution.

Une construction intelligente des requêtes peut considérablement améliorer les performances, surtout pour des requêtes dynamiques fréquemment exécutées.

4. Les stratégies d’indexation peuvent faire ou défaire la performance des requêtes

L’indexation n’est pas une panacée : son déploiement efficace repose sur une compréhension complète des données et des choix judicieux.

Création stratégique d’index : Les index peuvent améliorer drastiquement les performances, mais ils impliquent des coûts de maintenance. Il convient de considérer :

  • les colonnes fréquemment utilisées dans les clauses WHERE,
  • les colonnes de jointure,
  • les colonnes utilisées pour le tri ou le regroupement.

Le type d’index importe : Différents types d’index conviennent à des situations variées :

  • les index B-tree pour les requêtes d’égalité et de plage,
  • les index bitmap pour les colonnes à faible cardinalité,
  • les index basés sur des fonctions pour des conditions complexes.

Surveillez et ajustez : Analysez régulièrement l’utilisation des index et les performances des requêtes. Soyez prêt à ajouter, supprimer ou modifier des index en fonction de l’évolution des volumes de données et des schémas de requêtes.

5. Les problèmes de concurrence apparaissent avec l’augmentation du nombre d’utilisateurs

Les performances du système s’effondrent lorsque les requêtes arrivent plus vite qu’elles ne peuvent être traitées ; toutes les requêtes sont affectées, pas seulement les plus lentes.

Comprenez les mécanismes de verrouillage : Avec la montée en charge concurrentielle, le verrouillage devient crucial :

  • le verrouillage au niveau des lignes permet généralement une meilleure concurrence que le verrouillage au niveau des tables,
  • il est important de comprendre les implications des différents niveaux d’isolation.

Minimisez la durée des verrous : Concevez les transactions pour qu’elles maintiennent les verrous le moins longtemps possible :

  • évitez les saisies utilisateur ou appels externes dans les transactions,
  • envisagez le verrouillage optimiste pour les charges majoritairement en lecture.

Surveillez la contention : Contrôlez régulièrement :

  • les transactions longues,
  • les attentes de verrou,
  • les interblocages.

Résoudre les problèmes de concurrence nécessite souvent une combinaison d’optimisation des requêtes, de conception des transactions et parfois de modifications du schéma.

6. La croissance du volume de données impose une conception anticipative des requêtes

Pour réduire la sensibilité de vos requêtes à l’augmentation des volumes, n’opérez qu’avec les données strictement nécessaires aux niveaux profonds d’une requête. Réservez les jointures annexes aux niveaux externes.

Anticipez la croissance : Lors de la conception des requêtes, pensez à leur comportement face à l’augmentation des volumes :

  • évitez les sous-requêtes corrélées qui s’exécutent une fois par ligne,
  • privilégiez les opérations ensemblistes plutôt que le traitement ligne par ligne,
  • envisagez le partitionnement pour les très grandes tables.

Optimisez pour les grands ensembles de résultats : Lorsque les requêtes retournent beaucoup de données :

  • appliquez les filtres le plus près possible de la source,
  • utilisez la pagination ou les curseurs pour gérer les grands résultats,
  • pensez à matérialiser des résultats intermédiaires pour les requêtes complexes.

Testez régulièrement les performances : Évaluez périodiquement les requêtes avec des volumes accrus pour détecter les problèmes avant leur impact en production.

7. La modélisation dimensionnelle simplifie les requêtes en entrepôt de données

Les contraintes de conception de la modélisation dimensionnelle sont délibérément orientées lecture et ignorent souvent les préceptes du design relationnel.

Avantages du schéma en étoile : La modélisation dimensionnelle, souvent réalisée sous forme de schéma en étoile, présente plusieurs atouts pour les requêtes analytiques :

  • simplification de la rédaction des requêtes,
  • performances souvent meilleures grâce à la réduction des jointures,
  • compréhension facilitée pour les utilisateurs métier.

Compromis de la dénormalisation : Bien que la modélisation dimensionnelle dénormalise volontairement les données :

  • cela améliore les performances des requêtes analytiques courantes,
  • cela introduit une redondance et des risques d’anomalies lors des mises à jour.

Adaptée à l’OLAP : Les modèles dimensionnels conviennent particulièrement aux scénarios d’Online Analytical Processing, où les agrégations complexes et les analyses approfondies sont fréquentes.

8. Les processus ETL sont essentiels à la réussite d’un entrepôt de données

Manipuler des données pour le simple plaisir des données mène inévitablement à l’échec.

Extraire avec précaution : Lors de l’extraction des données des systèmes sources :

  • minimisez l’impact sur les systèmes opérationnels,
  • privilégiez les extractions incrémentielles pour les gros volumes,
  • validez la qualité des données à la source.

Transformer avec soin : Pendant la phase de transformation :

  • nettoyez et standardisez les données,
  • résolvez les incohérences entre sources,
  • préparez les données pour le modèle dimensionnel cible.

Charger efficacement : Lors du chargement dans l’entrepôt :

  • utilisez des techniques de chargement en masse quand c’est possible,
  • envisagez le partitionnement pour les grandes tables de faits,
  • mettez à jour les tables de dimensions avant les tables de faits.

Des processus ETL efficaces garantissent que l’entrepôt contient des données de qualité, cohérentes et fiables pour la prise de décision.

Dernière mise à jour:

Report Issue

Résumé des avis

3.98 sur 5
Moyenne de 170 évaluations de Goodreads et Amazon.

L’Art du SQL reçoit majoritairement des critiques positives, les lecteurs saluant son contenu approfondi et son style de présentation unique, inspiré de L’Art de la guerre de Sun Tzu. Les utilisateurs expérimentés de SQL le trouvent éclairant et précieux pour optimiser les performances des bases de données. Ce livre est loué pour sa profondeur, son organisation rigoureuse et son style d’écriture captivant. Toutefois, certains lecteurs le jugent difficile ou parfois décousu. Nombreux sont ceux qui le recommandent aux experts en SQL souhaitant perfectionner leurs compétences, tout en avertissant qu’il peut s’avérer trop complexe pour les débutants.

Your rating:
4.48
114 évaluations
Want to read the full book?

À propos de l'auteur

Stéphane Faroult est l’auteur de L’Art du SQL, un ouvrage très apprécié consacré aux techniques avancées du SQL. Fort d’une expérience de plusieurs années dans le domaine, Faroult fait preuve d’une connaissance approfondie du SQL et de l’optimisation des performances des bases de données. Son style d’écriture se distingue par sa concision, sa rigueur et son dynamisme, adoptant une approche créative pour rendre accessibles des concepts techniques complexes. L’expertise de Faroult transparaît dans sa capacité à expliquer le fonctionnement interne des bases de données tout en prodiguant des conseils pratiques pour améliorer la conception et l’efficacité des requêtes. Son livre s’adresse principalement aux développeurs SQL expérimentés, témoignant de sa maîtrise pointue des notions avancées et des bonnes pratiques en matière de bases de données.

Follow
Écouter
Now playing
The Art of SQL
0:00
-0:00
Now playing
The Art of SQL
0:00
-0:00
1x
Queue
Home
Swipe
Library
Get App
Try Full Access for 3 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 26,000+ books. That's 12,000+ hours of audio!
Day 2: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 3: Your subscription begins
You'll be charged on Jun 7,
cancel anytime before.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
600,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 3-Day Free Trial
3 days free, then $44.99/year. Cancel anytime.
Unlock a world of fiction & nonfiction books
26,000+ books for the price of 2 books
Read any book in 10 minutes
Discover new books like Tinder
Request any book if it's not summarized
Read more books than anyone you know
#1 app for book lovers
Lifelike & immersive summaries
30-day money-back guarantee
Download summaries in EPUBs or PDFs
Cancel anytime in a few clicks
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel