Estou gerando um relatório em php (mysql),
ex:
`select count(id) as tot_user from user_table
select count(id) as tot_cat from cat_table
select count(id) as tot_course from course_table`
Assim, tenho 12 mesas.
Posso fazer isso em uma única consulta. Se eu fiz? O processo fica lento?
Respostas:
fonte
Se você usa tabelas MyISAM, a maneira mais rápida é consultar diretamente as estatísticas:
Se você tiver InnoDB, terá que consultar com count (), pois o valor relatado em information_schema.tables está errado.
fonte
Você certamente pode usar a declaração Select Agregation como postulada por Ben James, no entanto, isso resultará em uma visualização com tantas colunas quanto as tabelas. Um método alternativo pode ser o seguinte:
O bom de uma abordagem como essa é que você pode escrever explicitamente as instruções Union e gerar uma visualização ou criar uma tabela temporária para armazenar valores que são adicionados consecutivamente a partir de um Proc cal usando variáveis no lugar dos nomes de sua tabela. Costumo ir mais com o último, mas realmente depende da preferência pessoal e da aplicação. Se você tiver certeza de que as tabelas nunca serão alteradas, você deseja os dados em um formato de linha única e não adicionará tabelas. fique com a solução de Ben James. Caso contrário, eu aconselharia flexibilidade, você sempre pode hackear uma estrutura de tabulação cruzada.
fonte
fonte
fonte
Eu sei que esta é uma pilha antiga, mas postarei este caso de seleção Multi-SQL
fonte