sql >> データベース >  >> RDS >> Mysql

MySQLとネストされたセット:遅いJOIN(インデックスを使用しない)

    ああ、それは私に起こったばかりです。

    テーブル内のすべてを要求しているため、mysqlは、より効率的であると見なすため、代わりに全表スキャンを使用することにしました。

    いくつかのキーの使用法を取得するには、いくつかのフィルターを追加して、とにかくすべてのテーブルのすべての行の検索を制限します。

    回答の更新:

    2番目のクエリは意味がありません。あなたはlcaに参加したままですが、その中にフィルターがあります。これは、それ自体で左側の参加を無効にします。また、クエリの最後のステップでデータを探しています。つまり、データを見つけるには、lt、lc、およびlcaのすべてを調べる必要があります。また、場所に左端の列「type」が付いたインデックスがないため、データを見つけるには全表スキャンが必要です。

    いくつかのサンプルデータと達成しようとしていることの例があれば、おそらくそれを支援する方が簡単でしょう。



    1. 「マルチパート識別子」とは何ですか?なぜバインドできないのですか?

    2. ORA-02014の解決方法:DISTINCT、GROUPBYのビューからFORUPDATEを選択できません

    3. なぜAndroidSQLiteでこのテーブルを作成できないのですか?

    4. PDOを使用したfetchAllヘルパー関数