MySQLは、バージョン8以降、降順のインデックスをサポートしています。以前のバージョンでは、インデックスを作成するときに「DESC」句は黙って無視されていました。これは、(a)単一列インデックスまたは(b)すべての列が一方向(すべてASCまたはすべてDESC)である複数列インデックスの場合は問題ではありませんでした。インデックスは双方向であるためです。
ただし、列の方向が異なる複数列のインデックスが必要な場合、たとえば、次のような複数のクエリを実行します。
SELECT * from MyTable WHERE ColumnA = 1 ORDER BY ColumnB ASC, ColumnC DESC
次のインデックスが必要でした:(ColumnA、ColumnB ASC、ColumnC DESC)。
バージョン8より前のMySQLでは、これらのパラメーターを使用してインデックスを作成できましたが、実際には、すべての列が昇順(ColumnA ASC、ColumnB ASC、ColumnC ASC)でサイレントに作成されました。
そのため、クエリはそのインデックスを完全に使用できませんでした。列Cにインデックス付けされていない(ファイルソート)データを使用している間、インデックスから列AとBのみを取得しました。
これは、MySQL8.0以降のバージョンでは問題になりません。https://dev.mysql.com/doc/refman/8.0/en/descending-indexes.htmlを参照してください
MySQLバージョン8は、2018年4月19日に一般提供のためにリリースされました(v8.0.11)。