美文网首页
MySQL Query Datetime Performance

MySQL Query Datetime Performance

作者: Alexever | 来源:发表于2019-11-16 21:41 被阅读0次

最近偶然发现有人在Stack Overflow提到Laravel检索日期的时候,最好使用WhereBetween 而不是WhereDate,于是实地做了测试,非常明显。

use App\Models\Ticket;
use Carbon\Carbon;

$now=Carbon::now();
//query in 6 million rows.
Ticket::whereDate('created_at',$now->toDateString())->count(); //1.2 sec

Ticket::WhereBetween('created_at',[
        $now->startOfDay(),
        $now->endOfDay()
    ])->count();                                               //0.04sec

显而易见,对时间区间进行查询的时候,最好直接对比区间值,where 'created_at' between 的效率比where date('created_at')优秀两个数量级。

相关文章

网友评论

      本文标题:MySQL Query Datetime Performance

      本文链接:https://www.haomeiwen.com/subject/zpruictx.html