j'ai une problématique : J'ai une base MySQL sur Internet, sur laquelle un grand nombre de clients travaille. A chaque mise à jour de catte base, les clients lancent une grosse requête de sélection pour mettre à jour la leur. Cette requête est fixe.
J'aimerais trouver le moyen de pré-enregistrer le résultat de cette requête pour que les clients n'ai que le résultat à récupérer. Ainsi MySQL ne fait qu'une fois le trvail de sélection.
Les vues répondent-elles à mon besoin ? Ou y a-t-il autre chose que l'on puisse utiliser ?
Comment faire aussi pour que le résultat puisse se mettre à jour automatiquement à chaque modification des tables sources ?
Merci pour vos réponses ...
Arnaud TROTIGNON
"Arnaud Trotignon" <arnaud.trotignon_enle...@cardiff.fr>
a écrit dans le message de news: 457d6061$0$5111$ba4a...@news.orange.fr...
exporter le résultat de la requete au format csv
et laisser le fichier résultat téléchargeable
> Bonjour,
>
> j'ai une problématique : J'ai une base MySQL sur Internet, sur laquelle
> un grand nombre de clients travaille. A chaque mise à jour de catte
> base, les clients lancent une grosse requête de sélection pour mettre à
> jour la leur. Cette requête est fixe.
> J'aimerais trouver le moyen de pré-enregistrer le résultat de cette
> requête pour que les clients n'ai que le résultat à récupérer. Ainsi
> MySQL ne fait qu'une fois le trvail de sélection.
>
stocker dans un fichier à récupérer
> Les vues répondent-elles à mon besoin ? Ou y a-t-il autre chose que l'on
> puisse utiliser ?
NON: le contenu des vues n'est pas stocké.
> Comment faire aussi pour que le résultat puisse se mettre à jour
> automatiquement à chaque modification des tables sources ?
>
Mettre un trigger qui recrée le fichier
> Merci pour vos réponses ...
>
> Arnaud TROTIGNON
A mon avis bien plus sûr de laisser comme c'est maintenant. Car au moment
où les données de bases
changent , le trigger est déclenclé qui met à jour le fichier , tout cela
n'étant pas instantané , le
fichier récupéré peut être celui d'avant ou d'après , ou même un bout du
fichier d'après en cours de création.
Lorsque tu récupères les données dans la base , celle-ci s'occupe des
cohérences.
--
J.Bratières
Enlever paspub pour répondre
Please remove paspub when answering
- y'a vraiment beaucoup de données à echanger ?
sinon, regarde si tu peux modifier la taille des trames renvoyées par le
serveur mysql (les trames sont pas tjs completement trempli)
- Solution alternative :
si c'est le temps d'execution de la requete qui te pose (donc multiplié par
le nombre de fois qu'elle est lancée),
- tu crés une table qui a la structure des données ramenées par ta requete
- tu purge ta table
- tu execute ta requete et stocke le resultat dans cette table
- tes postes clients executeront une requete que sur cette table au lieu
d'aller en lire plusieurs.
pour la replication des données modifiées :
un trigger peut tout à faire inserer dans une table le rowid de
l'enregistrement créé/modifé, et la nuit (si c'est possible) un batch fera
la replication.
Sinon il y'a des outils sur le marché.
Regarde aussi s'il n'y a pas moyen de rejouer des logs/journaux d'activité
base. (j'y crois pas trop mais bon)
maintenant, ca c'est de l'oracle alors sur mysql....
Désolé, je n'ai qu'Oracle comme experience (mais j'y prends un sacré pied!)
;o)
"nwjb" <j.bra.inva...@online.fr> a écrit dans le message de news:
op.tkeio...@news.online.fr...