2017-02-11 49 views
0

我的應用程序是在laravel框架中編寫的。在我的一個MySQL表中,我有超過300000行。在這個表格中,我有兩個存儲項目描述的文本列(描述通常包含2000到6000個字符)。這個表上的查詢運行速度很慢(我添加了索引)。我在模型上也有軟刪除特徵。即使很簡單:select count(*) as aggregate from offers_flats where offers_flats . deleted_at is null需要大約11秒..我能做些什麼來加快速度?Laravel - 有兩個文本列的表上的Mysql操作需要太多時間

+1

非常感謝,它有幫助。我之前沒有deleted_at的索引。可悲的是,現在我發現還有一件事會減慢我的查詢速度。我有一個整數時間戳列,其中存儲unix時間戳。當我做'ORDER BY timestamp_priority DESC'時,它會減慢查詢速度(我在此列中添加了索引)。 ORDER BY timestamp_priority ASC工作得非常快,但DESC工作緩慢..我可以做些什麼嗎? –

+1

編輯:問題解決了。這不是timestamp_priority列的錯 –

回答

0

offers_flats已有下標索引deleted_at

如果沒有,請在該字段中添加索引並嘗試。


軟刪除是很好的事情,但它並沒有在該字段添加索引,它是正確的,它並沒有做到這一點。

因爲它只是一個特質,所以在遷移時必須在deleted_at字段中添加索引。