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

非常に小さなMySQLテーブルはインデックスを無視しますか?

    NOT IN ( SELECT ... ) 特に古いバージョンでは、最適化が非常に不十分です。

    これに変更:

    SELECT  abc.*
        FROM  abc
        LEFT JOIN  zyx  ON zyx.abc_id = abc.id
        WHERE  zyx.abc_id IS NULL;
    AND  zyx.id = 12345 ;
    

    zyxの場合は、INDEX(id, abc_id)のいずれかを使用します またはINDEX(abc_id, id)

    zyx.idの場合 PRIMARY KEYです 、クエリはあまり意味がありません-なぜ単一行(12345)をテストするのですか?




    1. 株式、ファンド、暗号通貨の取引のためのデータモデル

    2. ローリング期間の累計を作成する方法

    3. mysqlテーブルのすべての行を表示してから、特定の行を削除するオプションを指定します

    4. 日付の違いを取得するためのMYSQLクエリ