Mysqlでクエリを最適化しようとしていますが、このクエリは0.5秒必要で、テーブルには2500行しかありません。 私は2つのテーブルを1つのテーブルは、チケットとグループ化されている他のチケットがあります。MYSQL最適化クエリ
Tickets:
- ID : Int (Primary Key)
- Name of the ticket: text
GroupTickets:
- ID : Int (Primary Key)
- ID_relation: Int -> the id of the group of the tickets
- ID_Ticket: Int -> the id of the ticket
私のクエリは次のとおりです。
Select T.id, T.name, Count(GP.id_relation)
FROM Tickets as T, GroupTickets as GP
WHERE GP.id_relation IN (
Select id_relation from GroupTickets
Where id_ticket=T.id
)
句は、MySQLはテーブルがこのクエリは難しいでしょう数百万行を持って、将来的にそのすべての行によって選択を行いますことを確認どこでこれを選択プロセスへ。
私は間違っていますか?誰かがこの情報を取得するより良い方法を知っていますか?チケットが他のチケットとグループ化されているかどうかを知る必要があります。
よろしくお願いいたします。
変更 'IN'役に立つかもしれませんER JOIN'、おそらく 'id'にインデックスを作成することもまた必要です。 – Blank