PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → limites des tableaux associatifs
limites des tableaux associatifs
Débuté par Roumégou, 03 juin 2017 11:49 - 1 réponse
Posté le 03 juin 2017 - 11:49
Bonjour
depuis plusieurs années, sur des traitements de batch quand je dois
retrouver des identifiants j'utilise la technique de tout charger les
clés des tables et leurs clés externes dans des tableaux associatifs.
Ensuite au lieu de faire des accès à chaque ligne (par des select), on
recherche directement dans ces tableaux en mémoire. Les gains en temps
sont spectaculaires.

Mais là je récupère 500000 lignes à chaque fois et mon fournisseur ne
saura distinguer ce qui est nouveau ou pas; donc 250 mo à chaque fois à
intégrer.
Donc je charge mes clés depuis ma base pour voir si j'ai ou pas un
identifiant, s'il existe déjà ou pas.

Mais je m'aperçois que mon traitement se bloque sur le chargement en
tableau de ces 500 000 clés.

Donc c'est limité.
je ne trouve rien là dessus.

Merci de vos réponses.
Sinon je vais travailler par requete en jointure.

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Posté le 05 juin 2017 - 13:59
Bonjour

Personnellement, je n'utilise pas de tableau associatif pour ca.

A la place, je fais une requête que je GARDE en mémoire.
Quand j'ai besoin, je fais alors un hlitrecherche SUR LA REQUETE.

La partie très intéressante est que dans ce contexte, TOUS les champs de
la requête peuvent être utilisé comme clé, et comme tout se passe en
mémoire, c'est ultra rapide.

Et comme je n'ai pas à allouer de la mémoire pour le tableau associatif
ni à la charger, ca devrait même être PLUS rapide que ton système :-)


Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com

Le 6/3/2017 à 3:49 AM, "ÿÿÿÿÿÿÿ" a écrit :
Bonjour
depuis plusieurs années, sur des traitements de batch quand je dois
retrouver des identifiants j'utilise la technique de tout charger les
clés des tables et leurs clés externes dans des tableaux associatifs.
Ensuite au lieu de faire des accès à chaque ligne (par des select), on
recherche directement dans ces tableaux en mémoire. Les gains en temps
sont spectaculaires.

Mais là je récupère 500000 lignes à chaque fois et mon fournisseur ne
saura distinguer ce qui est nouveau ou pas; donc 250 mo à chaque fois à
intégrer.
Donc je charge mes clés depuis ma base pour voir si j'ai ou pas un
identifiant, s'il existe déjà ou pas.

Mais je m'aperçois que mon traitement se bloque sur le chargement en
tableau de ces 500 000 clés.

Donc c'est limité.
je ne trouve rien là dessus.

Merci de vos réponses.
Sinon je vais travailler par requete en jointure.

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus