LearnReally
by learnreallyin FrenchCurated

Available inFrenchEnglishGermanHindiPortugueseRussianSpanish

SQL et bases de données pour entretiens

Écrivez seul une jointure, un GROUP BY ou une fonction fenêtre corrects, puis lisez ce que le moteur en a fait : le plan d'EXPLAIN, l'index choisi, l'anomalie d'isolation à laquelle votre transaction s'expose. Pour des ingénieurs backend face à un tour base de données ; la syntaxe SQL est acquise, pas enseignée. Quatre-vingt-cinq cartes, de la sémantique des jointures et de la logique de NULL aux B-trees, au MVCC et aux niveaux d'isolation ; réplication et sharding relèvent d'Entretien system design.

85cards
Try it first
Contents

Card 1 of 85

Le second nombre de cost=0.00..8.30 est masqué. Qu'estime-t-il ?

Le coût total du nœud, toutes ses lignes renvoyées

Hints

Ce ne sont pas des millisecondes : l'unité appartient au planificateur.

Que minimise le planificateur quand il n'y a pas de LIMIT ?

Source

Le couple, c'est le coût de démarrage puis le coût total, dans des unités arbitraires du planificateur, calées par tradition sur une lecture séquentielle de page à 1.0 (manuel PostgreSQL, « Using EXPLAIN »). Deux conséquences à dire à voix haute : un coût ne se compare qu'à celui d'un autre plan pour la même requête, jamais à des millisecondes ; et le coût d'un nœud contient déjà celui de tous ses enfants, donc la ligne du haut, c'est la requête entière. On le confond souvent avec le premier nombre, le coût de démarrage, auquel le planificateur donne beaucoup de poids dès qu'un LIMIT signifie que seule une partie de la sortie du nœud sera consommée.