Conseil d'optimisation BDD vs script ??

Conseil d'optimisation BDD vs script ?? - PHP - Programmation

Marsh Posté le 20-01-2010 à 17:13:31    

Bonjour à tous,
 
Voila, je cherche conseil auprès des expérimentés.J'ai plusieurs tables dans une bdd et je souhaite afficher tous les éléments de la base sur ma page d'accueil. Le tout avec PHP et PDO.
 
Pour l'instant j'ai crée un objet pour chacune des tables avec une méthode getAll() qui renvoie tous les éléments de la table sans distinction (avec SELECT puis fetchAll()).
 
Ma question est la suivante:
Sachant qu'il y aura des options de tri sur cette même page, est-il préférable de charger tous les éléments des tables dans des tableaux associatifs respectifs puis de faire les traitements sur les tableaux ou bien de créer des requêtes PDO qui sélectionnent les éléments des tables en fonctions des tris souhaités par les utilisateurs et n'avoir dans des tableaux que les sélections souhaitées.
 
Exemple: Pr trier par date: soit faire un select avec classement par date, Soit sélectionner tout dans un tableau puis le trier les éléments du tableau par date.
 
Il faut prendre en considération que les tables peuvent comporter un grand nombre d'éléments.
 
Question Bonus:
Est ce que qqn peut m'orienter sur la façon de découper les éléments des tables en n'affichant que 10 par page avec succession de page. (du pseudo-code ça le ferait bien).
 
Grand merci.  
 :jap:

Reply

Marsh Posté le 20-01-2010 à 17:13:31   

Reply

Marsh Posté le 20-01-2010 à 17:17:32    

tu peu utilisés un systeme de cache pour t'es requete genre APC
ducoup si t'utilise un array pour ton decoupage ca devrai allé vite, un simple slice par exemple

Reply

Marsh Posté le 20-01-2010 à 17:23:14    

Pas la peine de faire 2 topics : http://forum.hardware.fr/hfr/Progr [...] 7237_1.htm


Message édité par rufo le 20-01-2010 à 17:23:24

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 20-01-2010 à 17:27:03    

Charger un array avec des milliers d'enregistrements, je le sens moyen :/ Perso, j'utiliserais plutôt la clause LIMIT et tunerais MySQL (j'imagine vue que c'est un topic PHP) pour avoir un gros cache pour stocker les résultats de requêtes.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 20-01-2010 à 17:29:59    

je me disais ca au debut, mais enfaite ca marche pas trop mal, le framework zend le fait

Reply

Marsh Posté le 20-01-2010 à 17:47:22    

Okay!
 
Merci pour les infos. Pour les deux topics c'était pour avoir les avis des deux cotés, les spécialistes en BDD et ceux en PHP (je peux supprimer l'un des deux au besoin).
La bdd est bien en Mysql (utilisée avec PDO).
 
Pour zend, jme sens pas de découvrir un framework, là, tout de suite, mais à l'avenir pourquoi pas.
 
Je pense utiliser LIMIT puisque c'est ce qui m'est conseillé des deux cotés.
 
Merci bien et salutations.
 
PS: Si qqn a une meilleure option, je reste à l'affut sur le sujet; c'est le genre de problématiques récurrentes ds le web je suppose et je débarque seulement dans le secteur  :sweat: .
 
 :jap:

Reply

Marsh Posté le 20-01-2010 à 17:52:34    

rufo a écrit :

Charger un array avec des milliers d'enregistrements, je le sens moyen :/ Perso, j'utiliserais plutôt la clause LIMIT et tunerais MySQL (j'imagine vue que c'est un topic PHP) pour avoir un gros cache pour stocker les résultats de requêtes.


Si tu fait un limit, même pas besoin de trop tuner vu que tu ne fetchera que ce qu'il faut quand il faut. ;)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 20-01-2010 à 18:00:18    

c'est pour aider le sgbd pour des requêtes parcourant de grosses tables...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed