JeuWeb - Crée ton jeu par navigateur
Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL (/showthread.php?tid=5747)



Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - srm - 14-10-2011

Bonjour,

Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL.
Flexviews le fait plutôt pas mal, mais à quelques bugs.

L'idée est assez simple en soit, lire la sortie de mysqlbinlog qui liste toutes les requêtes qui sont passées, les interprété pour ensuite les réinjecter dans la table (vue matérialisée).

Mais il y a pas mal de petit défis à résoudre quand même Smile


RE: Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - Wells - 14-10-2011

Oui, mais si on ne s’ennuie pas alors?


RE: Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - niahoo - 14-10-2011

heu ben tu le fais pas !

Sinon ce serait pas plus utile de corriger les bugs de flexview que de tout recommencer ?

Ensuite perso le trip d'interpréter des logs bof bof


RE: Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - atra27 - 14-10-2011

Pas compris ni le principe, ni l'utilitée enfaite...

On a droit a plus de précisions?


RE: Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - srm - 14-10-2011

Il faut connaître plusieurs choses pour comprendre ce topic.
Une vue c'est quoi déjà ?
La réponse est ici : http://www.apprendre-php.com/tutoriels/tutoriel-28-mysql-5-0-les-vues.html

Une vue matérialisée c'est quoi ?
La même chose qu'une vue sauf que le résultat de la vue est enregistrée dans une table, on peut ainsi avoir une requête très compliquée qui s'exécute aussi rapidement qu'un simple SELECT.

Si vous avez une requête très compliquée, avec des jointures, des group by, des sort, des sum, des avg, sur par exemple 500000 lignes, si ce n'est plus, elle peut prendre du temps à s'exécuter.

Une vue matérialisée peut donc se résumer à ça :
CREATE TABLE ma_vue AS SELECT BLA BLA BLA MA SUPER REQUETE SUPER LOURDE

Le problème, c'est lorsque les données changent, elles ne sont pas mis à jour dans cette table forcément.
Donc on peut reconstruire à chaque fois la vue entière, mais si on est sur des gros volumes, ça peut-être gênant car elle peut prendre 1h/2h à reconstruire.

Une vue matérialisée incrémentale va se rafraîchir de manière incrémentale, c'est à dire qu'elle ne va mettre à jour que ce qui a changé, donc la mise à jour est très rapide Smile


RE: Vous vous ennuyez ? Coder un système de vue matérialisée incrémentale pour mySQL - atra27 - 18-10-2011

C'est deja plus clair merci!

Je verrais si j'ai une illumination sur comment faire ça...