Cbpro広告:
いずれかの助け私は、実行時間をスピードアップするために、クエリを再書き込みすることはできますか?それは取った37実行する秒。
DELETE FROM storefront_categories
WHERE userid IN (SELECT userid
FROM MASTER
where expirydate<'2020-2-4'
)
同時に、このクエリは実行するだけで4.69秒かかりました。
DELETE FROM storefront_categories
WHERE userid NOT IN (SELECT userid FROM MASTER)
テーブルstorefront_categoriesは持っている97Kのように、レコードMASTER持つ40Kレコードを。私たちは、MASTER.expirydateのフィールドにインデックスを作成しました。
GMB:
そのままクエリは罰金に見えます。
私は最適化のため、次のインデックスをお勧めします:
master(expiry_date, userid)
storefront_categories(userid)
最初のインデックスは、カバーの上にサブクエリのインデックスmaster
それだけで一方のデータベースのみインデックス(を見て、サブクエリを実行することができるようにする必要があることを意味します:expiry_date
インデックスで、それがまだフェッチするために、テーブルのデータを見てする必要があります関連しますuserid
)。
2番目のインデックスは、最適化データベースことができますin
操作を。