我有以下MySQL查詢如何提高此MySQL INNER JOIN的性能?
SELECT p. *
FROM posts AS p
INNER JOIN followings AS f ON p.id_user = f.id_user
WHERE
f.id_me =(my id)
ORDER BY id LIMIT 11
我有一個指標:在posts
表
followings
表id_user, id_me
id_user
。
followings
表中的100K行,posts
表中的30K行。
我的問題是需要超過1秒,是否可以寫這個查詢,需要幾毫秒?
運行'EXPLAIN'併發布。 –
經驗法則:任何在'join'或'where'中使用的字段,有時甚至是'order by'都應該有一個索引。但除此之外,查詢中很少有可以在查詢級別進行優化的 - 可以根據需要添加索引,也可以獲得更快的數據庫服務器。 –
哪個表是按「ID」關聯的順序。您應該習慣使用table.column ...或alias.column進行查詢,因爲其他人試圖幫助您知道表格來源的正確上下文。 – DRapp