Bonjour, decidement, aujourd'hui je suis tres integrogatif.
Aux risques de me faire huer, je me demande quels sont les performances d'IB6 sur des requetes style SELECT avec des tables de 5000 enreg ou 15000 enreg. (Je ne peux pas faire ce test puisque mon archi n'est pas fini.)
Dans une table d'article, j'ai 3 champs qui peuvent en etre la cle, CODEART, CODEBARRE,NUMSERIE. La cle reelle pour IB est CODEART.
Je pensais faire mes requetes de cette maniere :
Ouf, j'espere que c'est clair.
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 /* Je veux savoir si l'entre NEW.CODE est un article : */ SELECT COUNT(*) FROM ARTICLE A WHERE A.CODEART = NEW.CODE INTO entier IF (entier = 0) THEN BEGIN /* Ca peut aussi etre un article mais represente par son code barre */ SELECT CODEART,COUNT(*) FROM ARTICLE A WHERE A.CODEBARRE = NEW.CODE INTO code,entier IF (entier = 1) THEN NEW.CODE = code; ELSE BEGIN /* Ou bien par son numero de serie */ SELECT CODEART,COUNT(*) FROM ARTICLE A WHERE A.NUMSERIE = NEW.CODE INTO code,entier IF (entier = 1) THEN NEW.CODE = code; ELSE EXCEPTION ArticleInexistant; END END
Donc je me demande si c'est viable ou bien si je ne ferais pas mieux de n'avoir qu'une seule colonne cle et de faire une petite table annexe pour lier les cle entre elles. Mais ca multiplierait le nombre d'enregistrements par 3.
Je m'excuse d'avoir ete si long, mais c'est pour exposer mon probleme du mieux que possible.
Merci d'avance.




Répondre avec citation





Partager