我计算来自多个列的值,如下所示:
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
例如,这会返回 column1 array(attr1 => 2000, attr2 => 3000...) (每列都有特定的值和少数值)。问题是我的应用程序中的“表”可能是一个带有一些连接和 where 子句的查询,这可能需要 0.1 秒。通过做所有这些计算,“表”每次都会重新计算,这是不必要的。有什么方法可以通过一个查询获取我想要的结果,或者“缓存”生成表的查询?否则我相信非规范化将是这里唯一的解决方案。我想要与上述查询相同的结果。我正在使用 mysql-myisam。