Compter plusieurs colonnes avec group by dans une requête

Je compte les valeurs de plusieurs colonnes comme ceci:

SELECT COUNT(column1),column1 FROM table GROUP BY column1
SELECT COUNT(column2),column2 FROM table GROUP BY column2
SELECT COUNT(column3),column3 FROM table GROUP BY column3

Cela renvoie par exemple pour colonne1 array(attr1 => 2000, attr2 => 3000...) (Chaque colonne a de spécifique et de quelques valeurs). Le problème est que le "tableau" dans mon application peut être une requête avec certaines jointures et où l'une des clauses, qui peut prendre de 0.1 seconde. En faisant tout ce qui compte "table" est calculée à chaque fois, ce qui n'est pas nécessaire. Est-il possible de prendre les résultats que je veux avec une requête, ou "cache" de la requête qui génère de la table? Sinon, je crois que la dénormalisation serait la seule solution ici. Et je veux les mêmes résultats avec les requêtes. Je suis à l'aide de mysql myisam.

InformationsquelleAutor user666 | 2012-10-02