|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : février 2010 Messages : 117 ![]() |
Bonjour,
Mon problème semble assez simple : Je cherche simplement à récupérer trois élément aléatoire de chaque catégorie. Ma table "activites" est sous la forme J'ai essayé de bidouiller http://www.developpez.net/forums/d10...nts-categorie/ Mais impossible d'avoir toutes les catégorie lorsque j'introduis des rand() dans la formule. Je suis complètement bloqué, ça fait presque une journée que j'essaie de la réaliser. Il faut savoir que ce sera une requête appelé assez souvent . La table des activites contient environ 100 000 enregistrements Pour l'instant j'émule la requête sous forme de script php avec des tables mais je pense que ça sera carrément plus performant en en faisant une vue. Merci d'avance pour toutes vos suggestions ! cdt |
|
|
00
|
|
|
#2 |
![]() ![]() |
Une idée vite fait...
1) Création d'une table temporaire avec un id auto-incrémenté et les colonnes de la table activités que tu souhaites. 2) Alimentation de cette table avec les activités triées aléatoirement 3) Indexation de la table temporaire 4) Exécution de la requête des n premiers par catégories sur la table temporaire. Avec 100 000 lignes, cela ne devrait pas durer trop longtemps si tu exécutes tout ça dans une seule transaction ou carrément dans une fonction SQL.
__________________
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
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : février 2010 Messages : 117 ![]() |
Bonjour !
C'est à peu près ce que je faisais en php et ça prenait un peu de temps (je ne sais pas pourquoi) Dans mon cas je suis amené à faire un pivot après sur l'id_category (je dois mettre trois activité devant chaque id_category) Du coup je pense avoir trouvé une solution un peu bancale : Code :
La requête est quasi instantanée et je peux en faire des vues ! Qu'en pensez vous ? Bien cordialement |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com