Bonjour,

Voici ma procédure :
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
17
18
19
20
21
22
 
CREATE PROCEDURE enrichi_session_instance(_count integer, _max_i integer, _max_s integer)
LANGUAGE plpgsql
AS $$
BEGIN
	_max_i = _max_i + 1;
	FOR counter in 1.._count LOOP
		UPDATE table1
		SET
			i_node = (
				SELECT i_node
				FROM table2
				WHERE i_node = _max_i + counter
			),
			s_node = (
				SELECT s_node
				FROM table3
				WHERE s_node = _max_s + counter
			);
	END LOOP;
END
$$;
Cette procédure fonctionne sur les petites base mais la, j'ai 52 000 000 de champ. c'est la misère ...


Explication :
j'essaye de faire du bourrage de ma base pour grossir les tables.

j'ai fait grossir les 2 tables "table2 & table3" par une autre procédure puis je remplie la table1 avec les valeurs nouvellement créer.
_count , donne le nombre d'ajout à réaliser.
_max_i , donne le dernier élément de la table2 avant l'ajout des nouvelle ligne par la procédure précédente.
_max_s , donne le dernier élément de la table3 avant l'ajout des nouvelle ligne par la procédure précédente.


merci d'avance pour votre aide.