所以我有兩個表:的MySQL查詢的語句組合非常緩慢
| id | make | model | color |
| 1234 | BMW | M2 | blue |
| 2345 | Audi | A3 | black |
和
| id | date | price |
| 1234 | 2015-09-23 | 34000 |
| 1234 | 2015-10-23 | 33500 |
第一個表有50多輛獨一無二的。第二個表有從日常的車輛價格幾天(將更多的未來)
現在我想執行一個簡單的連接語句:如果我刪除加入
SELECT count(v.id)
FROM nm_voertuig v
JOIN nm_voertuig_statistieken vs
ON v.id = vs.id
WHERE model = 'BRZ'
它的速度非常快,但加入後需要大約20秒的時間才能加載。
我試圖添加一些索引。但它似乎沒有幫助。
我在做什麼錯?
EDIT
指標的nm_voertuig: https://gyazo.com/cd1628862574ee3c7beb0520484819cc
編輯2
這是由該結果說明: https://gyazo.com/18c1ad77718e8cdf9d19a3846cc4472c
指標?經驗法則是在涉及「決定」上下文的所有字段上放置索引:「join」,「where」,「order by」等... select count()對於某些表類型可能基本上是瞬時的,因爲行計數存儲在表的元數據中,並且數據庫不必計算實際記錄。 –
您的索引包含哪些字段? – knittl
我真的不知道索引是如何工作的。將使用索引編輯我的文章 –