我正在尝试优化对数据库的查询。我有以下查询:
select date, (
select count(user_id)
from myTable
where logdate = date
) as value
from myTable;
据我所知,第二个值是有效计算的。但是,有没有在MySQL中优化这种查询的常见做法?
答案 0 :(得分:1)
我相信您可以避免编写子查询并使用聚合执行相同的查询,这可能会运行得更快:
SELECT date, COUNT(user_id) AS numRecords
FROM myTable
GROUP BY date;
这是关于聚合函数的reference。
答案 1 :(得分:0)
您不必将组功能放在单独的选择中。只是做
select date, count(user_id) from myTable group by date;
没有艰难和快速。在这个查询中,只有一个选择比2更有效。但这里有some tips for beginners优化查询。