Classique, sql, orda

Entre les 3 mon cœur balance…
Je dois récupérer une liste des valeurs distinctes de prénoms et tente de voir si une solution est plus “avantageuse” qu’une autre :
<code 4D>
$queryType:=0
Si (Nombre de paramètres>0)
$queryType:=$1
Fin de si
Au cas ou
: ($queryType=1) //4D classic
TOUT SÉLECTIONNER([INDIVIDU])
VALEURS DISTINCTES([INDIVIDU]prenom;$prenom_at)
TABLEAU VERS COLLECTION($prenom_c;$prenom_at)
: ($queryType=2) //SQL
Début SQL
select distinct prenom
FROM INDIVIDU
INTO :$prenom_at;
Fin SQL
TABLEAU VERS COLLECTION($prenom_c;$prenom_at)
Sinon //ORDA
$prenom_c:=ds.INDIVIDU.all().distinct(“prenom”).copy()
Fin de cas
</code 4D>
… et je ne trouve pas de différence significative. Du coup je me dis que je vais opter pour orda qui a le mérite de l’exotisme, à mon âge. Quelqu’un a des observations/suggestions à faire ?

Bonjour,

Mon choix : ORDA

Pourquoi le .copy() ?

Cordialement,

A temps d’exécution égal (je te fais confiance :roll:) :

SQL et ORDA ont pour eux de ne pas perturber la sélection courante de ta table [INDIVIDU].
Mais étant devenu phobique de la non ouverture de port (c’est du vécu), je préfère dans ce cas utiliser ORDA qui ne nécessite (a priori :?:slight_smile: pas l’ouverture du port SQL pour pouvoir fonctionner correctement.

Et cela fait qu’une seule ligne à taper( :mrgreen:), ce qui ne gâche rien.

Tu peux juste developper un peu ton utilisation de .copy() :pray:

Mon choix : ORDA
Bon, ça tombe bien (quoique ma raison à moi soit : au pif)
Pourquoi le .copy() ?
Cette méthode me retourne une collection de prénoms nettoyée (un genre de thesaurus) qui me sert ensuite à repérer les prénoms dans des chaines qui peuvent être “nom prénom” ou “prénom nom”.

Hello,

Sauf contexte particulier, qu’est ce qui pourrait te faire ne pas choisir Orda ?
(c’est l’avenir, c’est plus vite écrit, ça n’impacte pas l’environnement (et c’est important l’environnement en ce moment :stuck_out_tongue:) et j’en oublie sans doute…)

Bonjour,

: Arnaud DE MONTARD

Cette méthode me retourne une collection de prénoms nettoyée (un
genre de thesaurus) qui me sert ensuite à repérer les prénoms dans
des chaines qui peuvent être “nom prénom” ou “prénom nom”.
Ok, mais pourquoi le .copy()
Cela fera le même résultat sans.

Cordialement,

: Arnaud DE MONTARD

Pourquoi le .copy() ?
Cette méthode me retourne une collection de prénoms nettoyée (un
genre de thesaurus) qui me sert ensuite à repérer les prénoms dans
des chaines qui peuvent être “nom prénom” ou “prénom nom”.
Et :?:

Oui, tu as raison. Manque de réflexion :oops:

Voir réponses à Olivier pour le copy.

Pour l’écriture sur une ligne, ça n’est pas forcément ce qui me séduirait a priori, ça dépend si ça reste lisible : longueur de la ligne, imbrication de parenthèses (j’ai un mal fou avec), etc. Mais là, oui, c’est parfaitement digeste.

Je t’ai donné mes autres raisons de mon choix :wink:
Le fait qu’il n’y ait qu’une seule ligne est un plus, mais pas la raison principale.

On peut aussi faire du ORDA sur plusieurs lignes, si t’as envies de taper plus :razz:

: Eric TROTTA

Sauf contexte particulier, qu’est ce qui pourrait te faire ne pas
choisir Orda ?
(c’est l’avenir, c’est plus vite écrit, ça n’impacte pas
l’environnement (et c’est important l’environnement en ce moment :stuck_out_tongue:)
et j’en oublie sans doute…)
Salut Éric,
disons que je ne me précipite pas sur orda sous prétexte que c’est moderne et écologique. Et comme je ne sais pas du tout ce qu’implique orda comme boulot sur le serveur, je fais le saint Thomas…

T’as une bagnole électrique ? :mrgreen:

Pour le plaisir :-), je te donne un argument supplementaire, cela évite https://forums.4d.com/Post/FR/32086987/0/0/ce genre de problème>
Donc ça te fait gagner des sous :mrgreen:

Quand on parle d’environnement, je pense qu’il pense au contexte selection :wink:

: Manuel PIQUET

Pour le plaisir :-), je te donne un argument supplementaire, cela
évite https://forums.4d.com/Post/FR/32086987/0/0/ce genre de
problème>
C’est juste…
Ceci dit, et sans vouloir froisser Bernard, une ouvrante et une fermante qui se baladent dans des méthodes différentes, pour moi c’est un défaut de conception qui tôt ou tard va te retomber sur la figure. Je bosse en ce moment sur une base qui n’a été bâtie QUE comme ça, c’est terrifiant.

Là, c’était juste un exemple ; mais, plus généralement, cela évite les effets de bord, c’est déjà énorme.

Par contre, pour en revenir à ORDA, je ne suis pas certain que ton exemple permet réellement d’apprécier sa puissance.
Je serais curieux de voir ce qu’il peut réellement faire en sachant qu’il permet d’envoyer en une seule requête énormément de travail au serveur et que ce même travail puisse être enfin réparti sur les différents cores (CPU), cela devrait lui conférer un avantage énorme par rapport à la méthode classique.