したがって、私は非常に大きなテーブル(日付分割)を持っています(例えば、table1)。複数列の索引があります(shop_id、g_id、check_date)。集計関数とグループを使用するクエリを書き換える方法
そして、私はクエリを実行しようとしています:
SELECT shop_id, g_id, max(check_date)
FROM table1
GROUP BY shop_id, g_id;
実行が本当に遅いです - 配列をスキャン。 どのようにインデックスを使用できるように、クエリを最適化/書き換えますか。 一意のG_IDを含むテーブルと、一意のSHOP_IDを持つ別のテーブルもあります。
あなたは秒off'とインデックススキャン野生がbenefitial可能かどうかを確認するためにenable_secscan 'で、一時的にスキャンをオフに切り替えることができます。
パーティション全体をカバーするために、両方の
shop_id
とg_id
列にインデックスを追加します。もしそうなら少なくともテーブルを再分析する –@ VaoTsun確かに、index_scanは動作するだろうが、クエリプランは依然としてawfull –