4D v14

Ensembles et sélections temporaires

Accueil

 
4D v14
Ensembles et sélections temporaires

Ensembles et sélections temporaires    


 

 

En complément des manipulations expliquées dans la vidéo, il faut noter que :

En termes de mémoire :

  • une sélection nécessite 4 octets par enregistrement de la sélection, quel que soit le nombre d’enregistrements dans la table (contrairement aux ensembles).
  • Un ensemble nécessite 1 bit par enregistrement de la table
    Les ensembles sont constitués d’une série de Bits. Un ensemble contient donc autant de bits qu’il y a d’enregistrements dans la table. Chaque bit d’un ensemble correspond à l’état "inclus dans la sélection" ou "non inclus" du énième enregistrement de la table au moment où l’ensemble est constitué.

Se référer au tableau ci-dessous résume les possibilités des ensembles et des sélections temporaires :

ThèmeEnsembleSélection temporaire
Espace mémoire pour 1 enregistrement1 bit4 octets
Conserve le triNonOui
Conserve l'enregistrement courantNonOui
RéunionOuiNon
IntersectionOuiNon
DifférenceOuiNon
Enregistrer sur disqueOuiNon
Taille mémoire d'une sélection de 10 enregistrements sur 20 00020 000 bits soit 2500 octets10 x 4 octets = 40 octets
PortéeLocal, Process, InterprocessProcess, Interprocess

On ne peut comparer que des ensembles d’une même table.

Attention : le fonctionnement d’un ensemble implique une utilisation dans un temps limité et éventuellement la pose de sémaphores (voir la documentation 4D à ce sujet).

En effet, un ensemble fait correspondre un bit à la position physique de chaque enregistrement de la table, or en cas de suppression puis d’ajout d’enregistrements, l’ancien contenu d’un enregistrement physique sera peut-être remplacé par le nouveau contenu qui n’est plus en cohérence avec ce que l’ensemble est censé représenter.

Soyez méthodiques dans l’utilisation des ensembles, qui demeurent un moyen efficace et rapide de comparer des sélections.

Pour conserver une sélection, une troisième solution consiste à utiliser un tableau qui contient vos identifiants via la commande SELECTION VERS TABLEAU.

Vous pouvez utiliser une quatrième solution avec des clusters stockés par exemple dans des BLOBs.

Bien évidemment, lorsque les ensembles et les sélections ne vous servent plus, vous pouvez libérer la mémoire en les effaçant

 EFFACER ENSEMBLE("NomEnsemble")
 EFFACER SELECTION("NomdeSelection")

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Ensembles et sélections temporaires
Nom intl. : Sets and named selections

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v13)
Autoformation ( 4D v14)