使用值列表中的子查询优化 mysql 查询

Optimize mysql query with subquery in values list

我正在尝试优化对我的数据库的查询。我有以下查询:

select date, (
    select count(user_id) 
    from myTable 
    where logdate = date
) as value 
from myTable;

据我所知,第二个值的计算效率很高。但是,在 MySQL?

中是否有任何常见的做法来优化这种查询?

我相信您可以避免编写子查询并使用聚合执行相同的查询,这可能 运行 更快:

SELECT date, COUNT(user_id) AS numRecords
FROM myTable
GROUP BY date;

这里是reference聚合函数。

您不必将组函数放在单独的 select 中。就这样

select date, count(user_id) from myTable group by date;

没有一成不变的。在此查询中,一个 select 比 2 个更有效。但这里是 some tips for beginners 优化查询。