2012-11-03 8 views
1

J'ai trois grandes bases de données (une avec les utilisateurs et le réglage, deuxième et troisième avec des données de discussion). Je dois joindre les données de la première et deuxième base de données, en utilisant JOINS etc.MySQL - Sélectionnez les données de deux bases de données - vitesse

Je sais, comment faire ceci ... mais la performance est une question ... elle sera plus lente, que si j'ai Toutes les données dans une base de données et faire JOINs (Tous les dataabses sont sur le même serveur, avec les mêmes droits)

+1

ajouter 'index' à vos champs [http://stackoverflow.com/questions/1108/how-does-database-indexing-work](http://stackoverflow.com/questions/1108/how-does-database-indexing-travail) –

Répondre

0

Je suggère d'écrire la requête en utilisant votre configuration actuelle, puis déplacer toutes les tables dans une base de données, réécrire le interroger et ensuite voir lequel est le plus rapide.

De plus, il est indispensable de vous assurer que les index sont corrects et efficaces.

0

Je ne pense pas que vous verrez la différence de performance. Si vous êtes concerné par les performances, vous devez vérifier la sortie EXPLAIN et vous assurer que les index sont utilisés correctement. Vous pouvez également envisager d'établir votre page de sortie de manière asynchrone. Chargez la page principale et AJAX dans la discussion. La perception sera plus rapide, même si globalement c'est un peu plus lent.

http://dev.mysql.com/doc/refman/5.0/en/explain-output.html

+0

Le temps de chargement n'est pas un problème ... le plus gros problème serait le CPU côté serveur et la charge de la mémoire ... c'est ce qui me préoccupe le plus ... les index et tout d'autre est maintenant optimisé, les données de bourgeon sont dans une table seulement et dupliquées dans les deux DB, qui n'est pas tout à fait bonne solution :) –

Questions connexes