Порядок выполнения запроса: from
-> where
-> group by
-> having
-> select
-> order by
-> limit
Таким образом, select max(stat_id) from stats_tbl ;
- это простая операция сканирования, которая означает, что она будет повторять строку за строкой только один раз, но запрос select stat_id from stats_tbl order by stat_id desc limit 1;
выполнит упорядочение после сканирования, после чего он будет применять limit
.
И мы также знаем, что odering - это дорогостоящие операции, тогда как сканирование, поэтому запрос select max(stat_id) from stats_tbl;
более эффективен, чем select stat_id from stats_tbl order by stat_id desc limit 1;
.