Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mysql - multi requetes

5 réponses
Avatar
J-F Portala
Bonjour,
j'ai le souci suivant:

J'ai une application en php et mysql avec 5 tables qui grossissent
au fur et a mesure des enregistrements.

Pour conserver des performances et ne pas trainer des enregistrements
inutiles ou tres peu utiles, j'archive une partie des tables dans d'autres
tables.
Le probleme est que cela implique de nombreuses requetes car les tables sont
en partie liées,
et si une requete se passe mal, les premieres requetes auront été
effectuées, pas les dernieres,...

Est ce qu'il faut prévoir de refaire le chemin inverse de toutes les
requetes déjà faites au cas ou il y a probleme?
Faut il locker les tables pour pour plus de sureté?
Y a t il un autre moyen plus simple?

merci de votre aide
Jeff

5 réponses

Avatar
Damien Dutreil
J-F Portala wrote:


J'ai une application en php et mysql avec 5 tables qui grossissent
au fur et a mesure des enregistrements.

Pour conserver des performances et ne pas trainer des enregistrements
inutiles ou tres peu utiles, j'archive une partie des tables dans d'autres
tables.
Le probleme est que cela implique de nombreuses requetes car les tables sont
en partie liées,
et si une requete se passe mal, les premieres requetes auront été
effectuées, pas les dernieres,...

Est ce qu'il faut prévoir de refaire le chemin inverse de toutes les
requetes déjà faites au cas ou il y a probleme?
Faut il locker les tables pour pour plus de sureté?
Y a t il un autre moyen plus simple?

merci de votre aide
Jeff





Faire tes manips d'archivage dans le cadre de transactions: si quelque
chose échoue dans la transaction, tout la transaction est annulée
Avatar
Manu Pavy
Faire tes manips d'archivage dans le cadre de transactions: si quelque
chose échoue dans la transaction, tout la transaction est annulée



Pour cela, il faut s'assurer de bien travailler sur des tables de types
innoDB.

Manu
Avatar
Damien Dutreil
Manu Pavy wrote:


Faire tes manips d'archivage dans le cadre de transactions: si quelque
chose échoue dans la transaction, tout la transaction est annulée




Pour cela, il faut s'assurer de bien travailler sur des tables de types
innoDB.



tout à fait ou bien travailler sur un véritable SGBD comme Postgres, par
exemple.
Avatar
J-F Portala
Merci de vos reponses.
InnoDB, c'est un format de tables Mysql.
Je vous avoue que je decouvre.
Peut être avez vous quelques sites à me conseiller pour comprendnre à quoi
cela correspond.

Encore Merci


Manu Pavy a écrit dans le message :
ck5hq3$hqg$

> Faire tes manips d'archivage dans le cadre de transactions: si quelque
> chose échoue dans la transaction, tout la transaction est annulée

Pour cela, il faut s'assurer de bien travailler sur des tables de types
innoDB.

Manu
Avatar
Manu Pavy
J-F Portala a fait part de :
Merci de vos reponses.
InnoDB, c'est un format de tables Mysql.
Je vous avoue que je decouvre.
Peut être avez vous quelques sites à me conseiller pour comprendnre à quoi
cela correspond.

Encore Merci



le SQL en général (+ conception bdd)
http://sqlpro.developpez.com

MySQL :
http://dev.mysql.com/doc/mysql/fr/

Manu