PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Optimisation » performance requête update » 05/11/2022 12:49:03

Bonjour ,
je suis toujours bloqué qui peux m'aider

#2 Re : Optimisation » performance requête update » 26/10/2022 10:17:56

par contre ci je fait

select * from cmd,fact where num_fact=num_cmd limit 100

il passe bien par les index

"Limit  (cost=0.99..47.38 rows=100 width=586)"
"  ->  Merge Join  (cost=0.99..2930456.81 rows=6318235 width=586)"
"        Merge Cond: (cmd.num_cmd = (fact.num_fact)::text)"
"        ->  Index Scan using idx_num_cmd on cmd  (cost=0.43..484425.81 rows=6318235 width=61)"
"        ->  Index Scan using idx_num_fact on fact  (cost=0.56..4331328.67 rows=19837009 width=525)"

Merci pour votre aide

#3 Re : Optimisation » performance requête update » 26/10/2022 01:04:01

"Update on fact  (cost=1398076.01..1551054.73 rows=0 width=0)"
"  ->  Hash Join  (cost=1398076.01..1551054.73 rows=6318235 width=20)"
"        Hash Cond: (cmd.num_cmd = (fact.num_fact)::text)"
"        ->  Seq Scan on cmd  (cost=0.00..136393.35 rows=6318235 width=23)"
"        ->  Hash  (cost=1151586.56..1151586.56 rows=19719156 width=15)"
"              ->  Seq Scan on fact  (cost=0.00..1151586.56 rows=19719156 width=15)"

#4 Optimisation » performance requête update » 23/10/2022 18:26:34

mse10
Réponses : 4

Bonjour,
je dispose de deux table fact (30 million lignes) et cmd (5 million ligne)

je veux updater fact par une valeur de cmd comme suite :

update fact set num_id =cmd_id from cmd where num_fact=num_cmd

j'ai un index au niveau fact sur num_fact et un index au niveau  cmd sur num_cmd

mais en exécutant la requête jattends plus de 2 heures sans fin

Merci pour votre aide

Pied de page des forums

Propulsé par FluxBB