私が持っているこのクエリの実行には、なんと 45 秒かかります。検索対象のすべてのフィールドにインデックスがあります。
SELECT SQL_CALC_FOUND_ROWS g.app_group_id, g.id as g_id, p.`id` as form_id,
a.`user` as activity_user,a.`activity` as app_act ,a.*
FROM grouped g
INNER JOIN
(SELECT max(id) as id, app_group_id FROM grouped GROUP BY app_group_id) g1
ON g1.app_group_id = g.app_group_id AND g.id = g1.id
INNER JOIN form p
on p.id = g.id
INNER JOIN
(SELECT a.id, a.date_time, a.user, a.activity FROM log a) a
ON g.id = a.id
WHERE p.agname like '%blahblah%' and p.`save4later` != 'y'
and a.activity = 'APP Submitted' or a.activity = 'InstaQUOTE'
ORDER BY app_group_id DESC limit 0, 100
私の説明では、一時的な使用を使用していることを示しています。ファイルソートの使用
インデックスは次のとおりです。
アクティビティ テーブル: PRIMARY activity_id INDEX date_time INDEX id INDEX アクティビティ INDEX ユーザー
フォームテーブル: PRIMARY id INDEX id_md5 INDEX dateadd INDEX dateu INDEX agent_or_underwriter INDEX
グループ化されたテーブル: UNIQUE id INDEX app_group_id INDEX agent_or_underwriter save4later
どんなアドバイスでも大歓迎です
どうもありがとうございました