2

在我的本地開發中,使用ActiveRecord進行的查詢需要1695ms的時間,包括渲染視圖,但是在Heroku上,我使用相同的查詢來獲取請求超時,這意味着需要超過30秒。有什麼我不知道Heroku或Postgres可能會導致這種情況?爲什麼Heroku postgres比本地mysql需要更長的時間?

下面是該查詢:

Event.where(id: Details.select("event_id").where('email like \'%gmail%\'')) 

有對詳細信息表中的電子郵件屬性沒有索引。

本地explain_threshold設置爲零,但我懷疑它會有1.6s查詢無論如何有問題。

數據量不是非常不同,不像一個是1000,另一個是1000000,這就是爲什麼我認爲它應該大約在同一時間。

+2

是什麼查詢什麼樣子的?任何索引?你檢查過EXPLAIN輸出嗎?你在MySQL中有多少數據? PostgreSQL有多少?你確定數據庫造成這個問題嗎? –

+0

我剛剛根據您的問題編輯了該問題 – eytanfb

+0

請參閱http://stackoverflow.com/tags/postgresql-performance/info以獲取有關提供適當詳細信息的指導。該查詢的* SQL *查詢(不是Rails代碼)和'ANALYZE'或最好是'EXPLAIN ANALYZE'將是最低需要的。 –

回答

相關問題