Bonjour,

j'ai parcouru la doc et plusieurs pages web concernant l'héritage dans postgreSQL mais il y a un point qui reste assez obscur : les performances.

L'héritage permet entre autre d'éviter les jointures au developpeur, mais est ce qu'en interne postgreSQL s'en sert ? Quid des performances ? Quelqu'un aurait un lien vers d'éventuels comparatifs ou tests par hasard ?

Merci d'avance

Exemple qui me laisse hésitant :
Pour une application multi-utilisateurs, on décide de conserver quels utilisateurs créent et modifient chaque enregistrement (gestion des droits/erreurs/etc). Par commodité, on crée une table record dont vont hériter toutes les autres tables histoire d'éviter des requêtes supplémentaires sur une table record si on veut des informations détaillées (ou d'avoir chacun de ces champs dans chaque table au pire).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE record
(
  creation date,
  createur text,
  modification date,
  modificateur text,
  ip text
); 
 
CREATE TABLE table1(
...
) INHERITS(record);
 
CREATE TABLE table2(
...
) INHERITS(record);
Dans ce cas là, des jointures systématiques au moindre select seraient catastrophiques pour les performances...