Ergonomie MySQL

Résolu
Jeanjeanpue Messages postés 2 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 23 février 2008 - 22 févr. 2008 à 16:48
Jeanjeanpue Messages postés 2 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 23 février 2008 - 23 févr. 2008 à 10:46
Hello,

Je débute en PHP/MySQL et programme un intranet/externet pour un réseau de bibliothèque.
Sur cet intranet chaque bibliothèque pourra modifier ses données personnelles via un formulaire. Le problème est que ces données sont nombreuses et j'aimerais que la mise à jour de la bd MySQL soit la plus rapide et économe en ressource serveur.
Ce formulaire passe évidement par une validation avant modification.

Quand un formulaire est posté, est-il intéressant de ne modifier dans la bd SQL que les données modifiées [je pense alors à utiliser des champs de type hidden contenant les valeurs d'origines et
comparer via PHP ces champs avec les champs visible (modifié ou non)
pour ne modifier en SQL que les données changées => ressource PHP
augmente] ou reposter l'ensemble du formulaire  [=> ressource MySQL augmente] ?
Est-ce, dans le cas de modification SQL "différenciée" de le faire lors de la validation du formulaire ?

D'avance merci

Jeanjean

Jeanjean vous aime !

3 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
22 févr. 2008 à 17:35
Hello,

Pour ma part je ne saurais pas te dire avec certitude lequel est le plus rapide, mais à mon avis il vaut mieux faire un update sur l'ensemble des champs et mysql se débrouille, plutôt que de demander à php de comparer tous les champs (et ça fait du trafic en plus aussi), ce qui sera probablment plus long.

A toi de voir s'il vaut mieux épargner le serveur php ou le serveur sql (s'ils sont distincts !)

Ceci dit, si tu es un vrai parano sur les perfs, il te reste la solution de demander au client de ne te renvoyer que les données modifiées (javascript donc), là ce n'est ni php ni sql qui fait le boulot...

à+
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 févr. 2008 à 18:44
Hello,

moi je ferais ça ainsi, si tu as vraiment peur pour les perfs :
un formulaire avec ses attributs value normal, avec en plus 2 champ caché : un avec la valeur d'origine, et un vide.
A chaque fois que l'utilisateur sort d'un champ de saisie, tu comparas ce qu'il a saisi avec la valeur d'origine. Si elle est différente, tu la mets dans ton 2ème champ caché (tout ça en js évidement).
Et quand tu fais ton update, tu ne le fais que sur les seconds champs cachés de chaque élément de ton formulaire.
Php n'a rien de plus à faire, et mysql met à jour le strict minimum.
3
Jeanjeanpue Messages postés 2 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 23 février 2008
23 févr. 2008 à 10:46
Merci à vous deux.

Je ne suis pas parano sur les perfs, je suis juste un petit peu trop prefectionniste :-)
J'aime pas trop avoir recours au js (certains utilisateurs le désactivent) mais de toute façon  mon interface de logon détecte si il est actif et peu dès lors le signaler à l'utilisateur.

Géniale cette communauté

Jeanjean vous aime !
3
Rejoignez-nous