Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/02/2011, 10h06   #1
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Par défaut innodb et les hébergeurs ?

Bonjour,

En regardant d'un peu plus près la BDD de joomla, je me suis demandé comment était le schéma relationnel. Et la surprise, aucune table (enfin pour celle que j'ai consulté donc une paire ^^) ne sont relié entre elles, mais il semble y avoir une relation par l'intermédiaire d'une table, je me dis mais pourquoi ? Et le moteur est toujours en MyISAM au lieu de innoDB plus en accord avec les relations

En cherchant un peu sur le net, certaines personnes ont des soucis en innodb car non installé ou non pris en charge par l'hébergeur

J'en viens à ma question, faut-il s'embêtait à mettre en innodb avec les relations existantes ou faut-il rester en MyISAM et faire comme joomla ?

Merci d'avance
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 10h16   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
MyIsam est plus rapide et permet les recherches fulltext.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 10h46   #3
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Si tu en as la possibilité c'est je pense dommage de se passer de table innodb.
En revanche si ton application à vocation à être distribuée à grande echelle sur des systèmes hétéroclites , il est sans doute plus judicieux de rester en mysam et d'émuler par exemple les CASCADE en php.

Note que pour la recherche fulltext avec innodb c'est assez facilement émulable avec une table supplémentaire et des triggers.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/02/2011, 10h48   #4
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Si je ne m'abuse, tu devra par contre gérer les suppressions/modifications de chaque table, le myIsam ne gérant pas les relations entre tables (cascade, setnull, ...).
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 13h52   #5
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Citation:
Envoyé par gwharl Voir le message
Si je ne m'abuse, tu devra par contre gérer les suppressions/modifications de chaque table, le myIsam ne gérant pas les relations entre tables (cascade, setnull, ...).
Ben oui c'est ce que je me disais, alors qu'avec relation cela mettrait à jour les tables en cascades et devrait etre plus rapide logiquement non ?
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 14h13   #6
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
déjà je suis pas sur que joomla aimera si tu lui changes son moteur.

ensuite est ce qu'il faut, en règle générale, formaliser les contraintes d'intégrités: oui oui oui oui oui oui oui

sans ça le shéma dégénère au fil des dévelopeurs et c'est une source de connaissance qui n'est pas exploitée.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 00h18   #7
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Citation:
Envoyé par gene69 Voir le message
déjà je suis pas sur que joomla aimera si tu lui changes son moteur.

ensuite est ce qu'il faut, en règle générale, formaliser les contraintes d'intégrités: oui oui oui oui oui oui oui

sans ça le schéma dégénère au fil des développeurs et c'est une source de connaissance qui n'est pas exploitée.
T'inquiète je n'ai pas l'intention d'y toucher, j'ai pris cet exemple car c'est assez connu je pense et comme c'est connu justement je me demandais pourquoi il ne le faisait pas alors que cela réduirait considérablement le nombre de requête... Faut se plaindre auprès de Joomla pour ça ^^ ?
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 01h38   #8
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 561
Points : 1 561
Citation:
Envoyé par kaiser59 Voir le message
T'inquiète je n'ai pas l'intention d'y toucher, j'ai pris cet exemple car c'est assez connu je pense et comme c'est connu justement je me demandais pourquoi il ne le faisait pas alors que cela réduirait considérablement le nombre de requête... Faut se plaindre auprès de Joomla pour ça ^^ ?
Un code optimisé est fait sur mesure en fonction de besoins précis. Et donc Joomla, comme les autres CMS préfabriqués, ne peuvent pas être optimisés puisqu'ils doivent répondre à "presque tous" les besoins...
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 22h16   #9
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Citation:
alors que cela réduirait considérablement le nombre de requête...
Ca réduirait le nombre de requête écrites dans le code mais pas le nombre de traitement.
Innodb est plus lent que Myisam ; Joomla a besoin d'être rapide.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 00h13   #10
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Citation:
Envoyé par sabotage Voir le message
Ca réduirait le nombre de requête écrites dans le code mais pas le nombre de traitement.
Innodb est plus lent que Myisam ; Joomla a besoin d'être rapide.
Dans ce cas, à quoi sert de garder innoDB dans le moteur ?
De plus, cela voudrait dire que cela va plus vite de faire 10 requêtes pour mettre à jour en cascade (par exemple) plutôt qu'une 1 ? Le monde à l'envers MySql ^^

Supposons je crée un CMS, il serait plus judicieux de ne pas faire de relation et de laisser en MyISAM alors ?
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 07h12   #11
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
La gestion des contraintes permet de garantir la cohérence des données et offre des fonctionnalités comme les suppressions en cascade.
Innodb permet également les transactions.

Sur la question des performances, les avis sont variés :
http://mysql.developpez.com/faq/?page=SYNTAXE_FORMATS
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 08h53   #12
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
La question que tu dois te poser c'est : Ai-je besoin d'intégrité référentiel sur mes données ?

Si tu te fiche éperdument qu'un utilisateur puisse être relié à un groupe n'existant plus (par exemple) alors tu n'as que peu d'intérêt à opter pour innoDb.

Si en revanche c'est très important alors tu devrais sérieusement penser à innodb.


Mais bon y parait que le modèle référentiel est hasbeen et que l'avenir est au noSql ... (avis que je ne partage pas soit dit en passant)
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 00h57   #13
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
ok merci pour vos réponses en tout cas.
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h06.


 
 
 
 
Partenaires

Hébergement Web