Explain は、時間があれば詳しく教えてくれるかもしれませんが、余分な並べ替えを避けるための便利な順序付きインデックスが見つからないため、27,000 行すべてを完全に並べ替えていると思います。
あなたが持っているものの中で見つけるのは難しいでしょうが、簡単なシナリオは
TableA KeyColumn,DataColumn (キー列は主キー)
Select * From TableA Order By KeyColumn
、順序どおりの PK インデックスを使用するため、並べ替えは必要ありません。
select * From TableA Order By DataColumn
、テーブルを読み取り、並べ替えを行います。
Datacolumn のインデックスを追加すると、並べ替えは不要になります。
より複雑なシナリオに到達するとすぐに、順序付けに役立つインデックスがあるかもしれませんが、結合には最適ではないため、結合が高速に行われ、順序付けに常に時間が費やされます。
私がこれを見ていて、何をすべきかが思い浮かびませんでした。requestid のインデックスがまったくない場合は、望ましくない動作が発生しなくなるまで、クエリからテーブルを切り出し始めます。次に、元に戻すために元に戻してから、この困難explain
ではないクエリを使用して、有用なインデックスを取得できるかどうかを確認するか、クエリを言い換えて、より有用なインデックスを使用できるかどうかを確認します。
幸運を祈ります。