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

MySQLはORDERBYにインデックスを使用していません

    クエリに回答するにはテーブル全体をロードする必要があり、4つの要素の並べ替えは安価であるため、クエリオプティマイザはインデックスに触れないようにしている可能性があります。それでも大きなテーブルでも発生しますか?

    MySQLはインデックスにvarcharの最初の768バイト程度を超えて含まないため、varchar(3000)列をカバーインデックスにすることはできないことに注意してください。

    クエリでインデックスのみを読み取る場合は、インデックスにSELECTのすべての列が含まれている必要があります その中でのために。 innodbでは、textcolを十分に小さくすると、2列のテーブルで機能し始めるはずです。 MyISAMでは、CREATE INDEX textcolindex ON test (textcol,id);のように、自分で主キー列を含める必要があります。



    1. SQLServerで英数字以外の文字を含む行を返す

    2. Oracleで科学的記数法で数値をフォーマットする方法

    3. 2列によるMySQLの順序

    4. MySQL-ツリー構造の再帰