我需要使用 Laravel 查詢從資料庫中獲取目錄,所以我簡單地寫:
$catalogs = Catalog::where('shop_id', $shop->id)->latest()->get(['id','title', 'created_at', 'shop_id', 'cover_bg', 'frontpage', 'pdf', 'clicks', 'finished']);
在目錄表中,我有 100 多列 - 其中 2 列是 type longtext。目錄當前包含大約 14000 條記錄,并且獲取資料非常慢:
這是 phpMyAdmin 的執行時間

這是 Laravel 查詢執行時間:

如何加快查詢速度?我認為 14 000 條記錄不是大表。此外,如您所見,我盡量避免使用長文本列,因此我沒有獲取它們。
是服務器性能問題還是其他問題?
CPU也很低:

uj5u.com熱心網友回復:
我認為您可以通過將索引陳述句添加到表結構中的 shop_id 來加快查詢速度。訪問https://www.sqlshack.com/sql-index-overview-and-strategy/
uj5u.com熱心網友回復:
嘗試切換到使用原始查詢,而不是使用 Eloquent DB::select(DB::raw('...'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/407107.html
標籤:
