如果我有像
这样的查询select sum(number) as points, user from point
where expiryDate < NOW()
group by user
limit 1;
数据库是否需要处理整个点表,即使它只需返回1行(或多行)。
一些背景:
用户有点可以过期,当积分到期时,我想处理它。在这里,我要查询每个用户的过期积分。由于可能有很多这样的点,我试图分批进行这个过程,因此LIMIT
。但我的猜测是,如果数据库搜索整个数据库,这实际上并没有优化任何东西。有没有更好的办法?