|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Développeur Web Inscription : novembre 2007 Messages : 185 ![]() |
Bonjour à tous,
Je voudrais accélerer l'affichage de ma requête qui est toute simple : Code :
Code :
Merci d'avance pour votre aide |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Tu veux mettre 800 000 options dans ton champ select ? Les utilisateurs seront sûrement ravis
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 66 ![]() |
C'est vrai que dans ce cas-là, un champ texte avec auto-completion serait une bien meilleure idée.
|
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Développeur Web Inscription : novembre 2007 Messages : 185 ![]() |
En faite je desire faire un select multiple et balancer les valeurs dans un autre select multiple.
Mais qu'entend tu par "un champ texte avec auto-completion " ? |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Ben comme google...qui affiche des propositions au fur et à mesure que tu tapes, mais ça ne correspond peut être pas à ton besoin.
A mon avis tu te trompe de table à interroger. Intéroge la table qui contient uniquement les code_groupe, pour avoir l'exaustivité des codes. N'utilise liste_grp que pour récupérer les code_groupe d'un client précis. Je t'assure un champ select multiple avec 800 000 possibilités n'est pas utilisable, sinon, en l'état, ta requête n'est pas optimisable. |
|
|
00
|
|
|
#6 | ||
![]() ![]() |
Citation:
Citation:
Par exemple, pour un tel champ permettant de sélectionner un nom de personne, l'utilisateur commence à saisir 'D' et le système fait une requête sur la table des personnes avec le nom commençant par D. L'utilisateur continue sa saisie 'DU' et le système commence à restreindre en proposant par exemple 'DUPOND, DUPONT, DURAN, DURAND'. L'utilisateur continue en saisissant 'DUR' et le système ne propose plus que 'DURAN' et 'DURAND'... Il existe ce genre d'outil dans les bibliothèques Javascript telles que JQuery. On peut paramétrer le nombre de caractères saisis nécessaires pour commencer à requêter la table. Avec 800 000 lignes, il vaut mieux avoir au moins les 3 premiers caractères pour restreindre le nombre de possibilités à afficher et donc accélérer l'affichage. Mais tu dis que tu désires "faire un select multiple et balancer les valeurs dans un autre select multiple". Cela veut-il dire que, d'après ta requête, l'utilisateur va d'abord sélectionner les groupes puis les clients des groupes sélectionnés ? Si oui, alors fais deux requêtes, une pour chaque liste, en te basant pour la seconde sur le choix opéré par l'utilisateur :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#7 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 852 ![]() |
salut,
c'est presque impossible que code ton code php ne dépasse pas les 30s de génération... et là même si tu génères la page le temps de génération coté navigateur va être une horreur... y a pas que ton pauvre select sur la page hein? ![]() donc tu peux:
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#8 | ||||
|
Futur Membre du Club
![]() Développeur Web Inscription : novembre 2007 Messages : 185 ![]() |
Merci beaucoup de l'interet que vous portez à mon problème.
En faite j'ai un 1er select multiple que je remplis via ma requête : Code :
Code :
|
||||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 852 ![]() |
déja une présélection obligatoire dans le 1er sélect qui par défaut réduit la list originale
si tu as un index sur ce critère dans ta table tu réduiras drastiquement déjà le temps de parcours... ton critère pour décider de la méthode c'est combien de résultats doivent pouvoir être sélectionnés (si tu réponds plus de 30 à mon avis tu devrais revoir ta façon de penser ton problème le problème c'est que on sait pas quel type de choses tu veux traiter... selon le sujet tu peux scinder ta table en différents sous domaines et donc de faire une cascade de sélections dynamiques qui réduiront les résultats
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com