php - 我的口才有什么解决办法吗?耗时太长
问题描述
我想从这个指纹表中获取第一个和最新的数据,但是因为该表有超过 100k 条记录,所以时间太长了。有什么解决办法吗?之前谢谢
这是我的代码:
$checkInOut = Fingerprint::where('USERID', 317)->where('CHECKTIME', '>=', $startDate)->where('CHECKTIME', '<=', $dayAfterStartDate)->get();
$checkIn = $checkInOut->first();
$checkOut = $checkInOut->last();`
解决方案
覆盖索引USERID
和CHECKTIME
列将加快数据检索。
CREATE INDEX idx_fingerprint ON Fingerprint(userid, checktime);