Project

General

Profile

Développement #100575

sql: requêtes sur information_schema en dehors des migrations

Added by Pierre Ducroquet 7 days ago. Updated 3 days ago.

Status:
Solution déployée
Priority:
Normal
Target version:
-
Start date:
10 January 2025
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

Description

Suite aux migrations en PG d'objets qui étaient sur le NFS, j'analyse tout le trafic SQL d'une instance wcs pour chercher d'éventuels problèmes. Ce faisant, j'ai pu observer que les crons utilisent énormement la méthode do_meta_table, qui fait à chaque appel deux requêtes sur information_schema.
Or les performances d'information_schema sont bien moins bonnes que celles des tables de base de PostgreSQL, il s'agit de vues complexes alors qu'on ne s'intéresse ici qu'à des valeurs très simples.
Je vois donc deux optimisations à faire :
1) arrêter d'utiliser information_schema dans ce cas et passer par les tables du pg_catalog et les types comme regclass
2) mettre en cache le résultat de do_meta_table pour éviter les appels inutiles

Le principal gain sera au niveau de la vitesse d'exécution des crons

Associated revisions

Revision a2c2cbe9 (diff)
Added by Pierre Ducroquet 3 days ago

sql: fetch columns from pg_attribute instead of information_schema (#100575)

3ms => 0.3ms

Revision 3b29e1c8 (diff)
Added by Pierre Ducroquet 3 days ago

sql: fetch table and index from pg_class instead of information_schema (#100575)

3ms => 0.6ms

Revision 4d17acba (diff)
Added by Pierre Ducroquet 3 days ago

sql: remove calls to do_meta_table when unneeded (#100575)

Revision 5729ad37 (diff)
Added by Pierre Ducroquet 3 days ago

sql: use 'if not exists' instead of checking catalog (#100575)

History

#1

Updated by Robot Gitea 7 days ago

  • Status changed from Nouveau to En cours
  • Assignee set to Pierre Ducroquet

Pierre Ducroquet (pducroquet) a ouvert une pull request sur Gitea concernant cette demande :

#2

Updated by Robot Gitea 7 days ago

Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :

#3

Updated by Robot Gitea 7 days ago

  • Status changed from En cours to Solution proposée

Pierre Ducroquet (pducroquet) a demandé une relecture de Frédéric Péters (fpeters) sur une pull request sur Gitea concernant cette demande :

#4

Updated by Robot Gitea 4 days ago

  • Status changed from Solution proposée to Solution validée

Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :

#5

Updated by Robot Gitea 3 days ago

  • Status changed from Solution validée to Résolu (à déployer)

Pierre Ducroquet (pducroquet) a mergé une pull request sur Gitea concernant cette demande :

#6

Updated by Transition automatique 3 days ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF