Clé étrangère Easy PHP: demande conseil
Résolu
Spoutch
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
nabla -
nabla -
Bonjour,
Je doit pour mon stage développer un site dynamique internet. J'ai une grosse (enfin pour moi^^) bdd a géré, et j'utilise easyphp pour sa.
voici mon problème: ma base comporte 12 table, pour presque la moitié de clé étrangère. PHPMYADMIN ne gère pas ses clé étrangère: après plusieurs recherches, j'ai découvert que cela pouvais être contourné en changeant le format de table par défaut (Myisam) par le format innodb. Bon, pourquoi pas.
Mais je suis confronté a un dilemme andromaquien:
il est dit qu'innodb ralentie fortement les fonctions d'agrégations, étant donné que mon commanditaire na pas les moyen d'avoir un super serveur, je me dit que ce n'est peut être pas une bonne idée. (et puis, sa complique la mise en place de la bdd^^)
Seulement voila, en Myisam, impossible de géré les clé en cascade, et vue le nombre de requetes que j'ai a faire, sa va démultiplié mon taf >.<
il me semble que la propriété atribu sous phpmyadmin permet la suppression en cascade, mais c'est laquelle des deux valeur?(unsigned ou unsigned zerofile?) si c'est bien le cas, je pense rester en format de table myisam...mais dans le cas contraire...
Voila, quel serai vos conseil? rester en Myisam ou passer en innodb??
Merci d'avance de vos réponse!!!!
Je doit pour mon stage développer un site dynamique internet. J'ai une grosse (enfin pour moi^^) bdd a géré, et j'utilise easyphp pour sa.
voici mon problème: ma base comporte 12 table, pour presque la moitié de clé étrangère. PHPMYADMIN ne gère pas ses clé étrangère: après plusieurs recherches, j'ai découvert que cela pouvais être contourné en changeant le format de table par défaut (Myisam) par le format innodb. Bon, pourquoi pas.
Mais je suis confronté a un dilemme andromaquien:
il est dit qu'innodb ralentie fortement les fonctions d'agrégations, étant donné que mon commanditaire na pas les moyen d'avoir un super serveur, je me dit que ce n'est peut être pas une bonne idée. (et puis, sa complique la mise en place de la bdd^^)
Seulement voila, en Myisam, impossible de géré les clé en cascade, et vue le nombre de requetes que j'ai a faire, sa va démultiplié mon taf >.<
il me semble que la propriété atribu sous phpmyadmin permet la suppression en cascade, mais c'est laquelle des deux valeur?(unsigned ou unsigned zerofile?) si c'est bien le cas, je pense rester en format de table myisam...mais dans le cas contraire...
Voila, quel serai vos conseil? rester en Myisam ou passer en innodb??
Merci d'avance de vos réponse!!!!
A voir également:
- Clé étrangère Easy PHP: demande conseil
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Clé usb - Accueil - Stockage
- Easy disk drive repair - Télécharger - Récupération de données
9 réponses
sympa le site...
une bonne habitude, pour les définitions: ask wiki : https://fr.wikipedia.org/wiki/Processus_l%C3%A9ger
un gros les threads sont des sous programmes executés en parallele... bien sur, sur nos machines mono processeur, un seul est réelement executé a la fois, sur ton dual core, 2 a la fois, quadricore:4 ... L avantage est quand il y a des temps d attente dans le programme, ton programme fais autre chose, gestion simultanée de nombreux utilisateurs, utilisation des architectures multiprocesseurs / multicoeur....
par exemple, si tu as un programme de bourin, qui demande plein de calculs, mais qu il est pas multi thread, tu as beau avoir une machine quadri processeurs, chacun quadri core, et ben tu n augmentera pas la vitese d execution ... c est méchant, mais basiquement c est ca ...
une bonne habitude, pour les définitions: ask wiki : https://fr.wikipedia.org/wiki/Processus_l%C3%A9ger
un gros les threads sont des sous programmes executés en parallele... bien sur, sur nos machines mono processeur, un seul est réelement executé a la fois, sur ton dual core, 2 a la fois, quadricore:4 ... L avantage est quand il y a des temps d attente dans le programme, ton programme fais autre chose, gestion simultanée de nombreux utilisateurs, utilisation des architectures multiprocesseurs / multicoeur....
par exemple, si tu as un programme de bourin, qui demande plein de calculs, mais qu il est pas multi thread, tu as beau avoir une machine quadri processeurs, chacun quadri core, et ben tu n augmentera pas la vitese d execution ... c est méchant, mais basiquement c est ca ...
merci pour la rapidité de la réponse Oo
Jutilise easyphp tout simplement parce que j'ai apris avec sa. Je vait tester ton wamp! et je dirai a ma prof de se mètre a jour, elle m'énerve un peut, parfois c'est nous qui luis apprenons des truck...
Mais je sais pas si sa serai trop fastidieu, trop long surement, j'ai une 30aine de requête a faire *.*
On peut géré les clé étrangère avec wamp donc?
Jutilise easyphp tout simplement parce que j'ai apris avec sa. Je vait tester ton wamp! et je dirai a ma prof de se mètre a jour, elle m'énerve un peut, parfois c'est nous qui luis apprenons des truck...
Mais je sais pas si sa serai trop fastidieu, trop long surement, j'ai une 30aine de requête a faire *.*
On peut géré les clé étrangère avec wamp donc?
non, wamp c est exactement pareil que easyphp....
tu l as dis toi meme, myisam ne gere pas les clef etrangeres, in faut utiliser innodb.
donc tu as un choix a faire.... a savoir que de toute faconm si tu veux une solution performate, ca a toujours un coup, quel qu il soit... ton commanditaire aura qqch qui ram un peu au pire, c est pas grave.
je connais pas vriament les differences de performances entre les 2 systems .... fais plutot comme c'est le plus facil pour toi: si ton programme lui apporte qqch d utilie, il saura debourser les sous ....
tu l as dis toi meme, myisam ne gere pas les clef etrangeres, in faut utiliser innodb.
donc tu as un choix a faire.... a savoir que de toute faconm si tu veux une solution performate, ca a toujours un coup, quel qu il soit... ton commanditaire aura qqch qui ram un peu au pire, c est pas grave.
je connais pas vriament les differences de performances entre les 2 systems .... fais plutot comme c'est le plus facil pour toi: si ton programme lui apporte qqch d utilie, il saura debourser les sous ....
Je pense que je vait quand même utilisé myisam. Je vais tout de même tenter de faire des cherche quand on performance de se truck, car si la perte de perfo est aussi insignifiante que l'augmentation de la taille des script en utilisant myisam, pas la pêne que je me prene la tête avec myisam xD
D'ailleurs, si y'a un docteur dans la salle qui pourrai men dire plus a se sujet...
D'ailleurs, si y'a un docteur dans la salle qui pourrai men dire plus a se sujet...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai trouver sa:
https://www.percona.com/blog/?link=2007%2F01%2F08%2Finnodb-vs-myisam-vs-falcon-benchmarks-part-1%2F
quelqu'un peut me dire se que sa veut dire? querie/second je comprend, mais threads???
Je suis encore plus perplexe qu'avant c'est malin xD
https://www.percona.com/blog/?link=2007%2F01%2F08%2Finnodb-vs-myisam-vs-falcon-benchmarks-part-1%2F
quelqu'un peut me dire se que sa veut dire? querie/second je comprend, mais threads???
Je suis encore plus perplexe qu'avant c'est malin xD
A bon d'accord!! Je suis pas sur de saisir toutes les subtilités de se graphique, mais j'ai au moins compris que maintenant c'est le innodb le plus efficasse!! Peut être que l'innodb a été mal considérer a l'époque car il demandai plus de ressources que miysam, et donnai donc un rendu moins performant au final, sa expliquerai peut être tout les movais commentaire que j'ai pue trouver a se sujet.
Aller op!
en tout cas merci pour la rapidité des réponse, a bientôt!!
Aller op!
en tout cas merci pour la rapidité des réponse, a bientôt!!
'tin, ch'ui une vrai bille.... sa fait une heure que je tente t'insérer les close de clé étrangère a ma base...
Je sais que le script, c'est sa:
ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
bon, très, bien, j'ai apris avec un truk bien plus simple mais on va faire avec >.<
se qui me semble le plus juste, c'est un truk comme sa:
ALTER TABLE MEDIUM
ADD CONSTRAINT "????" FOREIGN KEY IDEVEN
REFERENCES EVENEMENT
ON DELETE {CASCADE}
[ON UPDATE {CASCADE}
mais c'est quoi se $ù*$ù* de symbol pour la CONSTRAINT?
et que fait SET NULL, NO ACTION et RETRICT????
(je présise que les index son bien déja crée)
merki d'avence :)
Je sais que le script, c'est sa:
ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
bon, très, bien, j'ai apris avec un truk bien plus simple mais on va faire avec >.<
se qui me semble le plus juste, c'est un truk comme sa:
ALTER TABLE MEDIUM
ADD CONSTRAINT "????" FOREIGN KEY IDEVEN
REFERENCES EVENEMENT
ON DELETE {CASCADE}
[ON UPDATE {CASCADE}
mais c'est quoi se $ù*$ù* de symbol pour la CONSTRAINT?
et que fait SET NULL, NO ACTION et RETRICT????
(je présise que les index son bien déja crée)
merki d'avence :)