私はsqliteデータベースを持っており、私はC#プロジェクトでSystem.Data.SQLiteを使用しています。Sqliteデータベースが私に警告を与える
私の要求は次のとおりです。
SELECT d1.* FROM DYN_table as d1 INNER JOIN (SELECT id_bill, ordre_phase, type, MAX(valeur) maximum FROM DYN_table WHERE id_customer=347 AND type IN (1,5,2) GROUP BY id_bill, ordre_phase, type) as d2 ON d1.type = d2.type AND d1.valeur = d2.maximum AND d1.ordre_phase=d2.ordre_phase AND d1.id_bill=d2.id_bill WHERE d1.id_customer=347 AND d1.type IN (1,5,2)
要求が動作しているが、私は次の警告があります:私は最後のステップがある見る「クエリプランをEXPLAIN」を使用して私の要求をしようとすると
SQLite warning (284): automatic index on sqlite_sq_1E5A8EC0(id_bill)
を:
SEARCH SUBQUERY 1 AS d2 USING AUTOMATIC COVERING INDEX (id_bill=? AND ordre_phase=? AND type=?)
しかし、この表のid_billのインデックスは、私が持っているすべてのインデックスです: -Primaryキー:id_player、id_bill、ordre_phase、 -ordre_phase -id_competition
-id_playerタイプ 型 は私がid_bill、ordre_phaseとタイプしてインデックスを作成しようとしましたが、まだ同じ「自動覆いを使用したしましたインデックス "を分析します。
何か不足していますか?