ホームページ  >  に質問  >  本文

mysql の並べ替えではインデックス ソートが使用されないのはなぜですか?

city_id (主キーインデックス) による順序

country_id で注文 (インデックスなし!!!)

PHP中文网PHP中文网2711日前963

全員に返信(3)返信します

  • 漂亮男人

    漂亮男人2017-05-18 10:46:38

    city_id が主キー、country_id が複合主キーです。

    返事
    0
  • 怪我咯

    怪我咯2017-05-18 10:46:38

    に変更されました リーリー

    これで、SELECT中查询了索引建以外的列,那么ORDER BY就不会使用索引了。你可以用FORCE INDEX でインデックスの使用を強制することになります。

    もう一つのポイントは、いわゆるカバリングインデックスです。カバリング インデックスの定義は次のとおりです。MySQL は、結果を取得するためにインデックスに基づいてファイルを再度クエリすることなく、インデックスに基づいて select フィールドを返すことができます。

    を使用すると何が起こりますか。 select *时,你没有强制指定索引,那么mysql为了得到你的查询的字段而查询文件,然后再进行排序操作,这就没有用到覆盖索引。而你使用了force index就会强制使用覆盖索引,这样就不会出现filesort

    返事
    0
  • PHP中文网

    PHP中文网2017-05-18 10:46:38

    返事
    0
  • キャンセル返事