如何使 php 中的搜索查询更快?

问题描述 投票:0回答:0

我有一个搜索功能,可以处理少量数据,但是当我用一万条数据填充数据库后,当我尝试搜索某些内容时,网站会卡在加载中。

pubblic function searchVideo(Request $request)
    {
        $searchTerm = $request->search;
        $videos = Videos::with(['tags:id', 'stars:id'])
            ->where('title', 'LIKE', '%'.$searchTerm.'%')
            ->orWhereHas('tags', function ($query) use ($searchTerm) {
                $query->where('name', 'LIKE', '%'.$searchTerm.'%');
            })
            ->orWhereHas('stars', function ($query) use ($searchTerm) {
                $query->where('name', 'LIKE', '%'.$searchTerm.'%');
            })
            ->orderBy('created_at', 'desc')
            ->paginate(15);

        return $videos;
    }

如果我删除

->orWhereHas('tags', function ($query) use ($searchTerm) {
                $query->where('name', 'LIKE', '%'.$searchTerm.'%');
            })
            ->orWhereHas('
stars', function ($query) use ($searchTerm) {
                $query->where('name', 'LIKE', '%'.$searchTerm.'%');
            })

它工作正常,但我不会得到我想要搜索的所有结果。

php laravel database search query-optimization
© www.soinside.com 2019 - 2024. All rights reserved.