Bonjour
J'ai un petit problème.
Pour représenter des articles présent dans un niveau, j'ai un ID_PERE qui
représente donc où est attaché mon article.
Je voudrais à partir d'un niveau, récupérer tous les articles présent en
dessous de ce niveau et ce, quelques soit le nombre de sous niveau.
J'ai beau chercher, j'ai l'impression que c'est impossible en une seule
requête.
Haa là là, si la base utilisait la représentation intervallaire, je n'aurais
pas de problèmes :-( Mais je ne peut pas toucher à la base, donc je doit
faire avec.
Note : Je pose ma question ici car vous vous y connaissez en langage SQL,
mais la base est une base MySQL. Donc pas de procédure stocké pour faire des
boucles (enfin je pense) et si un autre forum est exclusivement consacré au
SQL, je suis preneur.
Si vous avez une idée, merci d'avance et même merci beaucoup ;-)
C'est bon, j'ai réussit sans changer la structure de ma base. J'ai tout simplement créé une fonction qui sort tout les ID des fils d'un niveau passé en paramètre. Je rappel la fonction pendant que je parcours les enregistrements afin d'avoir la récursivité.
Le tout me sert à construire ma condition Where pour ensuite lancer la "vrais" requête qui me sortira les éléments dont j'ai besoin.
Damran
"Damran" a écrit dans le message de news: 3fb337b7$0$10411$
"Damran" a écrit dans le message de news: 3fb32f6b$0$10423$ > Bonjour > Voici la solution si une base de donnée gère la récursivité : > ---- > Procedure RecherchePeres (in id integer, inout reponse string) > begin > reponse = reponse + ', ' + (SELECT FAM_LIB > FROM FAMILLE > WHERE FAM_ID = ID) > if id = 0 > then > return > else > id = (SELECT FAM_PERE > FROM FAMILLE > WHERE FAM_ID = ID) > end > ---- > Il faudrait en fait que je transforme cette procédure en code (php ou
asp)
> utilisant des recordset. > J'ai posté ici car vous connaissez bien le SQL, mais le problème dont je > parles tournes sous MySQL/php, donc pas de procédures stocké. > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette > procédure. > > Vous avez une idée pour faire cela en php, ou asp (je porterai le code s'il > le faut) ? Je suppose que je doit avoir une fonction qui fait un select sur > l'ID, puis je devrais appeler cette fonction à partir d'elle même pour avoir > la récursivité. J'ai jamais fait de fonction récursive et je n'arrive
pas
> encore à m'imaginer comment se déroule ce genre d'algo. > > Si vous pouviez me mettre sur la voie.
J'ai oublié de préciser. Le but serait de trouver tous les FAM_PERE concernés pour ensuite
construire
une condition à utiliser dans une autre requête : "Where FAM_PERE = 1 or FAM_PERE = 2 ...
Damran
C'est bon, j'ai réussit sans changer la structure de ma base.
J'ai tout simplement créé une fonction qui sort tout les ID des fils d'un
niveau passé en paramètre. Je rappel la fonction pendant que je parcours les
enregistrements afin d'avoir la récursivité.
Le tout me sert à construire ma condition Where pour ensuite lancer la
"vrais" requête qui me sortira les éléments dont j'ai besoin.
Damran
"Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de news:
3fb337b7$0$10411$626a54ce@news.free.fr...
"Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de news:
3fb32f6b$0$10423$626a54ce@news.free.fr...
> Bonjour
> Voici la solution si une base de donnée gère la récursivité :
> ----
> Procedure RecherchePeres (in id integer, inout reponse string)
> begin
> reponse = reponse + ', ' + (SELECT FAM_LIB
> FROM FAMILLE
> WHERE FAM_ID = ID)
> if id = 0
> then
> return
> else
> id = (SELECT FAM_PERE
> FROM FAMILLE
> WHERE FAM_ID = ID)
> end
> ----
> Il faudrait en fait que je transforme cette procédure en code (php ou
asp)
> utilisant des recordset.
> J'ai posté ici car vous connaissez bien le SQL, mais le problème dont je
> parles tournes sous MySQL/php, donc pas de procédures stocké.
>
> Et je ne vois pas trop comment fonctionne les "boucles" dans cette
> procédure.
>
> Vous avez une idée pour faire cela en php, ou asp (je porterai le code
s'il
> le faut) ? Je suppose que je doit avoir une fonction qui fait un select
sur
> l'ID, puis je devrais appeler cette fonction à partir d'elle même pour
avoir
> la récursivité. J'ai jamais fait de fonction récursive et je n'arrive
pas
> encore à m'imaginer comment se déroule ce genre d'algo.
>
> Si vous pouviez me mettre sur la voie.
J'ai oublié de préciser.
Le but serait de trouver tous les FAM_PERE concernés pour ensuite
construire
une condition à utiliser dans une autre requête : "Where FAM_PERE = 1 or
FAM_PERE = 2 ...
C'est bon, j'ai réussit sans changer la structure de ma base. J'ai tout simplement créé une fonction qui sort tout les ID des fils d'un niveau passé en paramètre. Je rappel la fonction pendant que je parcours les enregistrements afin d'avoir la récursivité.
Le tout me sert à construire ma condition Where pour ensuite lancer la "vrais" requête qui me sortira les éléments dont j'ai besoin.
Damran
"Damran" a écrit dans le message de news: 3fb337b7$0$10411$
"Damran" a écrit dans le message de news: 3fb32f6b$0$10423$ > Bonjour > Voici la solution si une base de donnée gère la récursivité : > ---- > Procedure RecherchePeres (in id integer, inout reponse string) > begin > reponse = reponse + ', ' + (SELECT FAM_LIB > FROM FAMILLE > WHERE FAM_ID = ID) > if id = 0 > then > return > else > id = (SELECT FAM_PERE > FROM FAMILLE > WHERE FAM_ID = ID) > end > ---- > Il faudrait en fait que je transforme cette procédure en code (php ou
asp)
> utilisant des recordset. > J'ai posté ici car vous connaissez bien le SQL, mais le problème dont je > parles tournes sous MySQL/php, donc pas de procédures stocké. > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette > procédure. > > Vous avez une idée pour faire cela en php, ou asp (je porterai le code s'il > le faut) ? Je suppose que je doit avoir une fonction qui fait un select sur > l'ID, puis je devrais appeler cette fonction à partir d'elle même pour avoir > la récursivité. J'ai jamais fait de fonction récursive et je n'arrive
pas
> encore à m'imaginer comment se déroule ce genre d'algo. > > Si vous pouviez me mettre sur la voie.
J'ai oublié de préciser. Le but serait de trouver tous les FAM_PERE concernés pour ensuite
construire
une condition à utiliser dans une autre requête : "Where FAM_PERE = 1 or FAM_PERE = 2 ...
Damran
Nicolas LETULLIER
Attention quand même à ta profondeur de structure, tu seras limité à 32 niveaux de récursivité.
Nicolas.
"Damran" a écrit dans le message de news:3fb3af7a$0$13302$
C'est bon, j'ai réussit sans changer la structure de ma base. J'ai tout simplement créé une fonction qui sort tout les ID des fils d'un niveau passé en paramètre. Je rappel la fonction pendant que je parcours
les
enregistrements afin d'avoir la récursivité.
Le tout me sert à construire ma condition Where pour ensuite lancer la "vrais" requête qui me sortira les éléments dont j'ai besoin.
Damran
"Damran" a écrit dans le message de news: 3fb337b7$0$10411$ > "Damran" a écrit dans le message de news: > 3fb32f6b$0$10423$ > > Bonjour > > Voici la solution si une base de donnée gère la récursivité : > > ---- > > Procedure RecherchePeres (in id integer, inout reponse string) > > begin > > reponse = reponse + ', ' + (SELECT FAM_LIB > > FROM FAMILLE > > WHERE FAM_ID = ID) > > if id = 0 > > then > > return > > else > > id = (SELECT FAM_PERE > > FROM FAMILLE > > WHERE FAM_ID = ID) > > end > > ---- > > Il faudrait en fait que je transforme cette procédure en code (php ou asp) > > utilisant des recordset. > > J'ai posté ici car vous connaissez bien le SQL, mais le problème dont
je
> > parles tournes sous MySQL/php, donc pas de procédures stocké. > > > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette > > procédure. > > > > Vous avez une idée pour faire cela en php, ou asp (je porterai le code > s'il > > le faut) ? Je suppose que je doit avoir une fonction qui fait un
select
> sur > > l'ID, puis je devrais appeler cette fonction à partir d'elle même pour > avoir > > la récursivité. J'ai jamais fait de fonction récursive et je n'arrive pas > > encore à m'imaginer comment se déroule ce genre d'algo. > > > > Si vous pouviez me mettre sur la voie. > > > J'ai oublié de préciser. > Le but serait de trouver tous les FAM_PERE concernés pour ensuite construire > une condition à utiliser dans une autre requête : "Where FAM_PERE = 1 or > FAM_PERE = 2 ... > > Damran > >
Attention quand même à ta profondeur de structure, tu seras limité à 32
niveaux de récursivité.
Nicolas.
"Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de
news:3fb3af7a$0$13302$626a54ce@news.free.fr...
C'est bon, j'ai réussit sans changer la structure de ma base.
J'ai tout simplement créé une fonction qui sort tout les ID des fils d'un
niveau passé en paramètre. Je rappel la fonction pendant que je parcours
les
enregistrements afin d'avoir la récursivité.
Le tout me sert à construire ma condition Where pour ensuite lancer la
"vrais" requête qui me sortira les éléments dont j'ai besoin.
Damran
"Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de news:
3fb337b7$0$10411$626a54ce@news.free.fr...
> "Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de news:
> 3fb32f6b$0$10423$626a54ce@news.free.fr...
> > Bonjour
> > Voici la solution si une base de donnée gère la récursivité :
> > ----
> > Procedure RecherchePeres (in id integer, inout reponse string)
> > begin
> > reponse = reponse + ', ' + (SELECT FAM_LIB
> > FROM FAMILLE
> > WHERE FAM_ID = ID)
> > if id = 0
> > then
> > return
> > else
> > id = (SELECT FAM_PERE
> > FROM FAMILLE
> > WHERE FAM_ID = ID)
> > end
> > ----
> > Il faudrait en fait que je transforme cette procédure en code (php ou
asp)
> > utilisant des recordset.
> > J'ai posté ici car vous connaissez bien le SQL, mais le problème dont
je
> > parles tournes sous MySQL/php, donc pas de procédures stocké.
> >
> > Et je ne vois pas trop comment fonctionne les "boucles" dans cette
> > procédure.
> >
> > Vous avez une idée pour faire cela en php, ou asp (je porterai le code
> s'il
> > le faut) ? Je suppose que je doit avoir une fonction qui fait un
select
> sur
> > l'ID, puis je devrais appeler cette fonction à partir d'elle même pour
> avoir
> > la récursivité. J'ai jamais fait de fonction récursive et je n'arrive
pas
> > encore à m'imaginer comment se déroule ce genre d'algo.
> >
> > Si vous pouviez me mettre sur la voie.
>
>
> J'ai oublié de préciser.
> Le but serait de trouver tous les FAM_PERE concernés pour ensuite
construire
> une condition à utiliser dans une autre requête : "Where FAM_PERE = 1 or
> FAM_PERE = 2 ...
>
> Damran
>
>
Attention quand même à ta profondeur de structure, tu seras limité à 32 niveaux de récursivité.
Nicolas.
"Damran" a écrit dans le message de news:3fb3af7a$0$13302$
C'est bon, j'ai réussit sans changer la structure de ma base. J'ai tout simplement créé une fonction qui sort tout les ID des fils d'un niveau passé en paramètre. Je rappel la fonction pendant que je parcours
les
enregistrements afin d'avoir la récursivité.
Le tout me sert à construire ma condition Where pour ensuite lancer la "vrais" requête qui me sortira les éléments dont j'ai besoin.
Damran
"Damran" a écrit dans le message de news: 3fb337b7$0$10411$ > "Damran" a écrit dans le message de news: > 3fb32f6b$0$10423$ > > Bonjour > > Voici la solution si une base de donnée gère la récursivité : > > ---- > > Procedure RecherchePeres (in id integer, inout reponse string) > > begin > > reponse = reponse + ', ' + (SELECT FAM_LIB > > FROM FAMILLE > > WHERE FAM_ID = ID) > > if id = 0 > > then > > return > > else > > id = (SELECT FAM_PERE > > FROM FAMILLE > > WHERE FAM_ID = ID) > > end > > ---- > > Il faudrait en fait que je transforme cette procédure en code (php ou asp) > > utilisant des recordset. > > J'ai posté ici car vous connaissez bien le SQL, mais le problème dont
je
> > parles tournes sous MySQL/php, donc pas de procédures stocké. > > > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette > > procédure. > > > > Vous avez une idée pour faire cela en php, ou asp (je porterai le code > s'il > > le faut) ? Je suppose que je doit avoir une fonction qui fait un
select
> sur > > l'ID, puis je devrais appeler cette fonction à partir d'elle même pour > avoir > > la récursivité. J'ai jamais fait de fonction récursive et je n'arrive pas > > encore à m'imaginer comment se déroule ce genre d'algo. > > > > Si vous pouviez me mettre sur la voie. > > > J'ai oublié de préciser. > Le but serait de trouver tous les FAM_PERE concernés pour ensuite construire > une condition à utiliser dans une autre requête : "Where FAM_PERE = 1 or > FAM_PERE = 2 ... > > Damran > >
Jean-Francois Cantin
Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai parlé un peu plus haut ;-)
"Nicolas LETULLIER" a écrit dans le message de news:
Attention quand même à ta profondeur de structure, tu seras limité à 32 niveaux de récursivité.
Nicolas.
"Damran" a écrit dans le message de news:3fb3af7a$0$13302$ > C'est bon, j'ai réussit sans changer la structure de ma base. > J'ai tout simplement créé une fonction qui sort tout les ID des fils
d'un
> niveau passé en paramètre. Je rappel la fonction pendant que je parcours les > enregistrements afin d'avoir la récursivité. > > Le tout me sert à construire ma condition Where pour ensuite lancer la > "vrais" requête qui me sortira les éléments dont j'ai besoin. > > Damran > > > "Damran" a écrit dans le message de news: > 3fb337b7$0$10411$ > > "Damran" a écrit dans le message de
news:
> > 3fb32f6b$0$10423$ > > > Bonjour > > > Voici la solution si une base de donnée gère la récursivité : > > > ---- > > > Procedure RecherchePeres (in id integer, inout reponse string) > > > begin > > > reponse = reponse + ', ' + (SELECT FAM_LIB > > > FROM FAMILLE > > > WHERE FAM_ID = ID) > > > if id = 0 > > > then > > > return > > > else > > > id = (SELECT FAM_PERE > > > FROM FAMILLE > > > WHERE FAM_ID = ID) > > > end > > > ---- > > > Il faudrait en fait que je transforme cette procédure en code (php
ou
> asp) > > > utilisant des recordset. > > > J'ai posté ici car vous connaissez bien le SQL, mais le problème
dont
je > > > parles tournes sous MySQL/php, donc pas de procédures stocké. > > > > > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette > > > procédure. > > > > > > Vous avez une idée pour faire cela en php, ou asp (je porterai le
code
> > s'il > > > le faut) ? Je suppose que je doit avoir une fonction qui fait un select > > sur > > > l'ID, puis je devrais appeler cette fonction à partir d'elle même
pour
> > avoir > > > la récursivité. J'ai jamais fait de fonction récursive et je
n'arrive
> pas > > > encore à m'imaginer comment se déroule ce genre d'algo. > > > > > > Si vous pouviez me mettre sur la voie. > > > > > > J'ai oublié de préciser. > > Le but serait de trouver tous les FAM_PERE concernés pour ensuite > construire > > une condition à utiliser dans une autre requête : "Where FAM_PERE = 1
or
> > FAM_PERE = 2 ... > > > > Damran > > > > > >
Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai parlé
un peu plus haut ;-)
"Nicolas LETULLIER" <nletullier@provibe.ASUPPRIMER.com> a écrit dans le
message de news:eKjcVjgqDHA.2488@TK2MSFTNGP12.phx.gbl...
Attention quand même à ta profondeur de structure, tu seras limité à 32
niveaux de récursivité.
Nicolas.
"Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de
news:3fb3af7a$0$13302$626a54ce@news.free.fr...
> C'est bon, j'ai réussit sans changer la structure de ma base.
> J'ai tout simplement créé une fonction qui sort tout les ID des fils
d'un
> niveau passé en paramètre. Je rappel la fonction pendant que je parcours
les
> enregistrements afin d'avoir la récursivité.
>
> Le tout me sert à construire ma condition Where pour ensuite lancer la
> "vrais" requête qui me sortira les éléments dont j'ai besoin.
>
> Damran
>
>
> "Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de news:
> 3fb337b7$0$10411$626a54ce@news.free.fr...
> > "Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de
news:
> > 3fb32f6b$0$10423$626a54ce@news.free.fr...
> > > Bonjour
> > > Voici la solution si une base de donnée gère la récursivité :
> > > ----
> > > Procedure RecherchePeres (in id integer, inout reponse string)
> > > begin
> > > reponse = reponse + ', ' + (SELECT FAM_LIB
> > > FROM FAMILLE
> > > WHERE FAM_ID = ID)
> > > if id = 0
> > > then
> > > return
> > > else
> > > id = (SELECT FAM_PERE
> > > FROM FAMILLE
> > > WHERE FAM_ID = ID)
> > > end
> > > ----
> > > Il faudrait en fait que je transforme cette procédure en code (php
ou
> asp)
> > > utilisant des recordset.
> > > J'ai posté ici car vous connaissez bien le SQL, mais le problème
dont
je
> > > parles tournes sous MySQL/php, donc pas de procédures stocké.
> > >
> > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette
> > > procédure.
> > >
> > > Vous avez une idée pour faire cela en php, ou asp (je porterai le
code
> > s'il
> > > le faut) ? Je suppose que je doit avoir une fonction qui fait un
select
> > sur
> > > l'ID, puis je devrais appeler cette fonction à partir d'elle même
pour
> > avoir
> > > la récursivité. J'ai jamais fait de fonction récursive et je
n'arrive
> pas
> > > encore à m'imaginer comment se déroule ce genre d'algo.
> > >
> > > Si vous pouviez me mettre sur la voie.
> >
> >
> > J'ai oublié de préciser.
> > Le but serait de trouver tous les FAM_PERE concernés pour ensuite
> construire
> > une condition à utiliser dans une autre requête : "Where FAM_PERE = 1
Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai parlé un peu plus haut ;-)
"Nicolas LETULLIER" a écrit dans le message de news:
Attention quand même à ta profondeur de structure, tu seras limité à 32 niveaux de récursivité.
Nicolas.
"Damran" a écrit dans le message de news:3fb3af7a$0$13302$ > C'est bon, j'ai réussit sans changer la structure de ma base. > J'ai tout simplement créé une fonction qui sort tout les ID des fils
d'un
> niveau passé en paramètre. Je rappel la fonction pendant que je parcours les > enregistrements afin d'avoir la récursivité. > > Le tout me sert à construire ma condition Where pour ensuite lancer la > "vrais" requête qui me sortira les éléments dont j'ai besoin. > > Damran > > > "Damran" a écrit dans le message de news: > 3fb337b7$0$10411$ > > "Damran" a écrit dans le message de
news:
> > 3fb32f6b$0$10423$ > > > Bonjour > > > Voici la solution si une base de donnée gère la récursivité : > > > ---- > > > Procedure RecherchePeres (in id integer, inout reponse string) > > > begin > > > reponse = reponse + ', ' + (SELECT FAM_LIB > > > FROM FAMILLE > > > WHERE FAM_ID = ID) > > > if id = 0 > > > then > > > return > > > else > > > id = (SELECT FAM_PERE > > > FROM FAMILLE > > > WHERE FAM_ID = ID) > > > end > > > ---- > > > Il faudrait en fait que je transforme cette procédure en code (php
ou
> asp) > > > utilisant des recordset. > > > J'ai posté ici car vous connaissez bien le SQL, mais le problème
dont
je > > > parles tournes sous MySQL/php, donc pas de procédures stocké. > > > > > > Et je ne vois pas trop comment fonctionne les "boucles" dans cette > > > procédure. > > > > > > Vous avez une idée pour faire cela en php, ou asp (je porterai le
code
> > s'il > > > le faut) ? Je suppose que je doit avoir une fonction qui fait un select > > sur > > > l'ID, puis je devrais appeler cette fonction à partir d'elle même
pour
> > avoir > > > la récursivité. J'ai jamais fait de fonction récursive et je
n'arrive
> pas > > > encore à m'imaginer comment se déroule ce genre d'algo. > > > > > > Si vous pouviez me mettre sur la voie. > > > > > > J'ai oublié de préciser. > > Le but serait de trouver tous les FAM_PERE concernés pour ensuite > construire > > une condition à utiliser dans une autre requête : "Where FAM_PERE = 1
or
> > FAM_PERE = 2 ... > > > > Damran > > > > > >
Damran
"Jean-Francois Cantin" a écrit dans le message de news:
Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai
parlé
un peu plus haut ;-)
C'est vrais, mais si je modifie la base, autant le faire pour de bon et donc passer à la représentation intervallaire. C'est pour les catégories d'un magasin en ligne, ça ne dépassera jamais les 10 niveaux. De plus, il aurait fallut gérer des sessions là où il n'y en avait pas besoin (la sélection de la personne en cour et pas celle d'une autre visite). Par contre, c'que c'est pas optimisé, ho là là ! ;-) Mais bon, c'est du "en attendant"
Merci à vous tous Damran
"Jean-Francois Cantin" <jeanfrancois.cantin@expertisa.com> a écrit dans le
message de news: O1WQrIhqDHA.2808@TK2MSFTNGP10.phx.gbl...
Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai
parlé
un peu plus haut ;-)
C'est vrais, mais si je modifie la base, autant le faire pour de bon et donc
passer à la représentation intervallaire.
C'est pour les catégories d'un magasin en ligne, ça ne dépassera jamais les
10 niveaux. De plus, il aurait fallut gérer des sessions là où il n'y en
avait pas besoin (la sélection de la personne en cour et pas celle d'une
autre visite).
Par contre, c'que c'est pas optimisé, ho là là ! ;-) Mais bon, c'est du "en
attendant"
"Jean-Francois Cantin" a écrit dans le message de news:
Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai
parlé
un peu plus haut ;-)
C'est vrais, mais si je modifie la base, autant le faire pour de bon et donc passer à la représentation intervallaire. C'est pour les catégories d'un magasin en ligne, ça ne dépassera jamais les 10 niveaux. De plus, il aurait fallut gérer des sessions là où il n'y en avait pas besoin (la sélection de la personne en cour et pas celle d'une autre visite). Par contre, c'que c'est pas optimisé, ho là là ! ;-) Mais bon, c'est du "en attendant"
Merci à vous tous Damran
Nicolas LETULLIER
Si tu as vraiment un problème de performance, ne peux-tu pas mettre en oeuvre une solution intervallaire en parallèle de ta solution actuelle ? Tu peux imaginer une mise à jour automatique par trigger sur ton ancienne table et utiliser les nouvelles pour ta recherche. Avec toutes les explications et le code de Fred sur son site, la solution parallèle ne devrait pas être trop longue à mettre en oeuvre je pense.
Comme ça, tu as ton implémentation, et le jour où tu veux tout basculer en intervalle, tu n'as que ton ancien code à reprendre.
Une idée comme ça...
Nicolas.
"Damran" a écrit dans le message de news:3fb49640$0$231$
"Jean-Francois Cantin" a écrit dans le message de news: > > Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai parlé > un peu plus haut ;-) C'est vrais, mais si je modifie la base, autant le faire pour de bon et
donc
passer à la représentation intervallaire. C'est pour les catégories d'un magasin en ligne, ça ne dépassera jamais
les
10 niveaux. De plus, il aurait fallut gérer des sessions là où il n'y en avait pas besoin (la sélection de la personne en cour et pas celle d'une autre visite). Par contre, c'que c'est pas optimisé, ho là là ! ;-) Mais bon, c'est du
"en
attendant"
Merci à vous tous Damran
Si tu as vraiment un problème de performance, ne peux-tu pas mettre en
oeuvre une solution intervallaire en parallèle de ta solution actuelle ? Tu
peux imaginer une mise à jour automatique par trigger sur ton ancienne table
et utiliser les nouvelles pour ta recherche. Avec toutes les explications et
le code de Fred sur son site, la solution parallèle ne devrait pas être trop
longue à mettre en oeuvre je pense.
Comme ça, tu as ton implémentation, et le jour où tu veux tout basculer en
intervalle, tu n'as que ton ancien code à reprendre.
Une idée comme ça...
Nicolas.
"Damran" <armands@NoSpamePleasefree.fr> a écrit dans le message de
news:3fb49640$0$231$636a55ce@news.free.fr...
"Jean-Francois Cantin" <jeanfrancois.cantin@expertisa.com> a écrit dans le
message de news: O1WQrIhqDHA.2808@TK2MSFTNGP10.phx.gbl...
>
> Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai
parlé
> un peu plus haut ;-)
C'est vrais, mais si je modifie la base, autant le faire pour de bon et
donc
passer à la représentation intervallaire.
C'est pour les catégories d'un magasin en ligne, ça ne dépassera jamais
les
10 niveaux. De plus, il aurait fallut gérer des sessions là où il n'y en
avait pas besoin (la sélection de la personne en cour et pas celle d'une
autre visite).
Par contre, c'que c'est pas optimisé, ho là là ! ;-) Mais bon, c'est du
Si tu as vraiment un problème de performance, ne peux-tu pas mettre en oeuvre une solution intervallaire en parallèle de ta solution actuelle ? Tu peux imaginer une mise à jour automatique par trigger sur ton ancienne table et utiliser les nouvelles pour ta recherche. Avec toutes les explications et le code de Fred sur son site, la solution parallèle ne devrait pas être trop longue à mettre en oeuvre je pense.
Comme ça, tu as ton implémentation, et le jour où tu veux tout basculer en intervalle, tu n'as que ton ancien code à reprendre.
Une idée comme ça...
Nicolas.
"Damran" a écrit dans le message de news:3fb49640$0$231$
"Jean-Francois Cantin" a écrit dans le message de news: > > Limitation que tu n'aurais pas avec ma façon de procéder dont je t'ai parlé > un peu plus haut ;-) C'est vrais, mais si je modifie la base, autant le faire pour de bon et
donc
passer à la représentation intervallaire. C'est pour les catégories d'un magasin en ligne, ça ne dépassera jamais
les
10 niveaux. De plus, il aurait fallut gérer des sessions là où il n'y en avait pas besoin (la sélection de la personne en cour et pas celle d'une autre visite). Par contre, c'que c'est pas optimisé, ho là là ! ;-) Mais bon, c'est du