2017-08-06 3 views
0

J'ai une application qui utilise DB avec plus de 50 tables. Maintenant, je suis dans une situation où j'ai besoin d'installer une autre instance de l'application. Le problème est que je voudrais utiliser certaines tables comme données «communes», par ex. "marques" ou "villes" ou "pays" dans les deux (pour l'instant il n'y en a que 2, mais ça pourrait être bientôt plus) des applications. J'ai recherché et trouvé que je peux faire le DB «commun» avec de telles tables, et ai des vues dans chaque instance de DB qui pointe au tableau correspondant.Meilleure pratique pour partager des données sur differenet bases de données mysql/mariadb

Les requêtes d'applications principales s'appuient fortement sur ces tables communes, donc je suis inquiet si cela va ralentir mes requêtes puisque les vues n'ont pas d'index?

Y a-t-il de meilleures pratiques? Je cherche maintenant la réplication dans le manuel de mysql. Est-ce que c'est comme ça? Répliquer les tables de la base de données commune aux DB d'instance d'application? Peut-il s'agir d'une réplication à sens unique? (seules les tables de la base de données "commune" peuvent être modifiées puis répliquées sur d'autres bases de données)?

Thanx conseil Y

+0

Je pense que [DBA] (https://dba.stackexchange.com) est le meilleur endroit pour poser cette question – Zico

Répondre

0

Pourquoi ne pas créer Materialized views alias Flexviews alors vous créer des index sur eux et vous n'auriez pas à vous inquiéter si cela vous ralentir.

Plus sur Flexviews sur le site de MariaDB:

Flexviews

+0

va vérifier. tnx! – Yuray

+0

@Yuray si cela répond à votre problème, veuillez le marquer comme réponse acceptée. – tukan