Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Possuo um site de compartilhamento de animações ( http://stickmanproject.com/ para quem quiser conhecer), e devido à empresa com a qual faço a hospedagem (HostNet), todos os meus bancos de dados ficam em servidores diferentes, e gostaria de alguma recomendação para tornar mais eficiente a conexão à esses servidores com os BDs.
Quando fui "passar" o meu site da máquina local para a hospedagem, percebi que tinha direito à 5 bancos de dados, e achei que seria uma boa dividir as tabelas em 3 bancos, muito embora entendesse pouco de MySQL na época (comecei a entender melhor só nas últimas semanas). Assim, destinei um banco para conteúdos do próprio site, como postagens no blog de desenvolvimento e artigos de ajuda, outro para os perfis de usuários e outro para animações e comentários.
O problema é que muitas vezes preciso de dados que estão em bancos diferentes (e portanto servidores diferentes), sendo assim tenho que realizar diversas conexões num mesmo script.
Para exibir animações, por exemplo, preciso do banco de dados das animações (para pegar a descrição, título, visualizações, etc) e do de usuários (para exibir o nome do autor). Como cada animação possui área de comentários, preciso novamente conectar no banco de animações (pois a tabela de comentários está lá também) e de novo ao de usuários (para pegar o nome do autor também). Desse modo, no mínimo 4 conexões em servidores diferentes são necessários. E para cada comentário são necessárias mais 2 conexões.
Não sei o quanto isso impacta na performance, mas de qualquer jeito simplesmente não me parece o "meio certo" de fazer as coisas. Assim, gostaria de alguma recomendação para tornar mais eficiente todo o processo. Por agora, tenho 2 ideias:
$Con1 = mysql_connect(DB_1, USER, PASS, true);
$Con2 = mysql_connect(DB_2, USER, PASS, true);$Query = mysql_query("SELECT * FROM Animations WHERE Id = '{$_GET['id']}'", $Con1);
$Query2 = mysql_query("SELECT * FROM Users WHERE UserName = '{$_GET['by']}'", $Con2);
Carregando comentários...