select m.ID,m.cell_number,cm.id
from corporate_main_member m
, corporate_main_corporate_membership cm
WHERE m.status = 'active'
AND m.ID IN (
select cm.FK_Member_ID
from corporate_main_corporate_membership cm
WHERE cm.status = 'active'
AND cm.ID IN (
select gm.FK_Corporate_Membership_ID
from corporate_main_group_membership gm
WHERE gm.status = 'active'
AND gm.FK_Group_id IN (168,169,170)
Group BY gm.FK_Corporate_Membership_ID
)
)
AND cm.fk_corporation_id = 5
AND cm.FK_Member_ID = m.id
の上:
1 Million records of corporate_main_member
2 Million records of corporate_main_corporate_membership
3 Million records of corporate_main_group_membership
上記のクエリは mysql を停止します! スクリプトを使用して数千のレコードをcorporate_main_memberおよびcorporate_main_corporate_membershipテーブルに追加した一昨日までは機能していました。それが関連しているのか、DB サイズが何らかのしきい値を超えてパフォーマンスの問題が大幅に発生したのかは不明です。
何か助けはありますか?インデックスなどについてはわかりません。スキーマは明らかです。