1
を照会すると、私は次のクエリを使用して友人関係を取得しています:のMySQL 5.7遅いCASE THEN
SELECT F.friend_one, F.friend_two, F.requested_id, F.status
FROM users U, friends F
WHERE
CASE
WHEN F.friend_one = 2
THEN F.friend_two = U.id
WHEN F.friend_two= 2
THEN F.friend_one= U.id
END
AND F.status = 1
(http://www.9lessons.info/2014/03/facebook-style-friend-request-system.html)
をしかし、7500件のレコードを友人テーブルから結果を選択すると、取り1.5秒。この問題を解決する方法はありますか?私はSQLの専門家ではない。説明は私がトラブルの原因と思うすべての選択をしていることを示しています。
ありがとう@Gordon。もう1つの質問。索引キーの列の順序は重要ですか?それはちょうど酒や読みやすさです。 p.s. SOは、私はあまりにも早い回答を受け入れることができないと言います私はそれが受け入れるだろう:)歓声! – Inacio
@Inacio。 。 。索引のキーの順序は重要です。そのため、この回答では2つの異なる索引が推奨されています。 –
ありがとう!回答が受け入れられました:) – Inacio