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

MySQLクエリの調整-変数の値を使用するのが、リテラルを使用するよりもはるかに遅いのはなぜですか?

    答えが私に当たったときに質問を書き終えたので、とにかく知識共有のために投稿してください!

    メタフォン関数の戻り値がUTF8であることに気づきました。

    latin1フィールドとの比較では、明らかにかなり大きなパフォーマンスオーバーヘッドが発生していました。

    変数の割り当てを次のように置き換えました:

    SET @metaphone_val:= CONVERT(double_metaphone(p_parameter) USING latin1);
    

    これで、クエリは予想どおりに高速に実行されます。




    1. OracleデータベースのC#でデータセットを埋める方法

    2. 外部キーはクエリのパフォーマンスを向上させますか?

    3. Group By /OrderByのMySQLインデックス

    4. すべての列が同じ値に設定されています