終了していないこのクエリがあります (サーバーのメモリが不足していると思います)
SELECT fOpen.*, fClose.*
FROM (
SELECT of.*
FROM fixtures of
JOIN (
SELECT MIN(id) id
FROM fixtures
GROUP BY matchId, period, type
) ofi ON ofi.id = of.id
) fOpen
JOIN (
SELECT cf.*
FROM fixtures cf
JOIN (
SELECT MAX(id) id
FROM fixtures
GROUP BY matchId, period, type
) cfi ON cfi.id = cf.id
) fClose ON fClose.matchId = fOpen.matchId AND fClose.period = fOpen.period AND fClose.type = fOpen.type
これはそれのEXPLAINです:
これら 2 つのサブクエリ「of」と「cf」を別々に実行すると、実行に約 1.5 秒かかります。
「id」は PRIMARY INDEX であり、これらの 3 つの列をこの順序で持つ「matchPeriodType」という名前の BTREE INDEX があります。
詳細: MySQL 5.5、512MB のサーバー メモリ、およびテーブルには約 400k レコードがあります。