Mysql - Laravel:获取表的最后一行而不获取所有数据

时间:2017-09-10 15:57:05

标签: mysql laravel eloquent

我正在使用laravel,我需要检索表格的最后一行。我正在使用下面的代码,但显然它正在获取整个表,然后循环到最后一个元素。如果表格很大,这将成为一个问题。

$result = Table::orderBy('created_at', 'desc')->first();

是否有更好,更有效的方法来获取最后一行:Eloquent或SQL查询。

由于

1 个答案:

答案 0 :(得分:2)

您当前的Laravel查询是查找数据库最新行的一种方法。正如@vladatr所提到的,它对应于以下原始MySQL查询:

SELECT * FROM yourTable ORDER BY created_at DESC LIMIT 1

要回答您的问题,在MySQL级别加快此查询的一种方法是在created_at列上添加索引。如果优化程序使用此索引,则应加快查找最新记录所需的排序操作。