この 200 万以上のエントリ テーブル、ID 自動インクリメント、および index1(MainId,SubID,Column1) index2(MainId,SubID,Column2) の場合:
ID MainID SubID Column1 Column2
--------------------------------------
1 1 A 1A_data_1
2 1 A 1A_data_2
3 2 B 2B_data_1
4 2 B 2B_data_2
5 1 A ignore_me
6 1 A 1A_data_3
次のインデックスを使用して、目的の列値を含む行 ID を取得できます。
Select max(ID)
From table where column1 is not null and column1 <>'ignore_me'
Group By MainID,SubID
Select max(id)
From table where column2 is not null and column2 <>'ignore_me'
Group By MainID,SubID
しかし、私ができないことは、これらを MainID,SubID グループに対して結合してこれらの結果を取得する効率的な方法を見つけることです。
MainID SubID Column1 Column2
--------------------------------
1 A 1A_data_1 1A_data_3
2 B 2B_data_1 2B_data_2
私は多くの異なるアプローチを試みましたが、永遠にかかるものは何もありません. 別のインデックスが必要ですか? クエリによるグループ化は非常に高速であるため、単純なものを見落としているように感じます。誰かが私を正しい方向に向けることができますか?