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

MySQL自己結合クエリを最適化する

    インデックスがありません。 EXPLAINを使用してクエリを分析してみてください。これは、非常に役立ちます。

    解決策は簡単です。 http://sqlfiddle.com/#! 2 / 56deb / 1/0

    whereステートメントで使用されている列を使用順に含むインデックスを追加する必要があります。

    KEY `night_of_2` (`night_of`,`student_id`,`check_class`)
    

    また、テーブルをそれ自体に結合しているため、結合時にインデックスを強制的に使用する必要があります。

    JOIN checks checks2
    

    FORCE INDEX(night_of_2)ON(checks1.night_of =checks2.night_of)

    (もっと良い方法があれば知りたいです):)

    よろしく、



    1. mysqlの行番号はすべての異なるレコード値をリセットします

    2. データベースの資格情報はどこに保管すればよいですか?

    3. Entity Frameworkを使用して、読み取り時にテーブルをロックするにはどうすればよいですか?

    4. oracle sqlの結果をWindowsのファイルに出力する方法は?