gpt4 book ai didi

php - 是否可以反向查表快速获取最新数据?

转载 作者:行者123 更新时间:2023-12-02 04:22:13 26 4
gpt4 key购买 nike

我有一个包含几百万条记录的表。

该表有一个很长的字符串作为键,查找记录,尤其是新的记录,非常慢。

我尝试将搜索范围缩小到 whereDate >= this weekwhereID >= 999999 但这并没有带来巨大的性能提升。

我们正在使用 Laravel。是否有某种功能可以从下向上或反向搜索表格,而不是从上向下递增搜索?在这种情况下,像 Model::findBackwards($key) 这样的东西会开始查看最近的记录并向后处理是理想的。

你会如何解决这个问题?

编辑 - 这是我们当前的查询。这是一项即将到来的工作

if (DB::table('big_table_with_a_stupid_key')
->whereDate('created_at', '>=', '2019-11-10')
->where('hash', $this->hash)
->increment('counter')
);

else {
DB::table('big_table_with_a_stupid_key')->where(['hash' => $this->hash])->increment('counter');
}

最佳答案

如果想对结果进行倒序,可以使用latest()函数。

Laravel 文档说:https://laravel.com/docs/6.x/queries

latest / oldest

The latest and oldest methods allow you to easily order results by date. By default, result will be ordered by the created_at column. Or, you may pass the column name that you wish to sort by:

$user = DB::table('users')->latest()->first(); // order by created_at
$user = DB::table('users')->latest('id')->first(); // order by id

关于php - 是否可以反向查表快速获取最新数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com