Vous n'êtes pas identifié(e).
bonjour,
j'ai les résultats d'une enquête dans une quarantaine de tables, donc je n'aurais pas d'insert et d'update. les requêtes habituelles ne se font que sur 4 à 5 tables jointes au maximum
j'aurais 3 questions:
- pour chaque table je voudrais faire un cluster sur l'index de la colonne servant aux jointures: est ce une bonne idée?
-vu qu'il n' y a aucun insert ou update ,est ce q'un nombre important d'index (en plus de ceux cités plus haut) aura une incidence négative?
- j'ai des tables de plus de 150 colonnes, serait il intéressant de les "découper" en table de 50 colonnes par exemple tout en sachant qu'a priori le nombre de jointure pour une requête habituelles n'augmentera pas énormément?
j'espère que c'est clair!
bonne journée
Hors ligne
- pour chaque table je voudrais faire un cluster sur l'index de la colonne servant aux jointures: est ce une bonne idée?
Pour les merge joins, ça peut en avoir une, ou pour récupérer des données triées. En tout cas, ça ne vous coûtera rien en performances
- vu qu'il n' y a aucun insert ou update ,est ce q'un nombre important d'index (en plus de ceux cités plus haut) aura une incidence négative?
Oui, sur le temps de planification des requêtes. Ça sera probablement non-mesurable, mais il y a un petit impact, puisqu'il faut pour chaque requête décider si les index peuvent ou non être utilisés
- j'ai des tables de plus de 150 colonnes, serait il intéressant de les "découper" en table de 50 colonnes par exemple tout en sachant qu'a priori le nombre de jointure pour une requête habituelles n'augmentera pas énormément?
Probablement pas. Si une colonne est «grosse», elle sera déjà automatiquement stockée ailleurs par PostgreSQL (regardez à TOAST dans le manuel si vous voulez comprendre comment ça marche).
Marc.
Hors ligne
ok merci je vais regarder ça de plus pres
Hors ligne