The DESC keyword in an index definition was parsed and ignored until 8.0, so mixed-direction sorts always needed a filesort.
-- the query
SELECT * FROM orders
ORDER BY customer_id ASC, created_at DESC
LIMIT 50;
-- pre-8.0: an ascending index, then a filesort
-- 8.0:
ALTER TABLE orders ADD INDEX idx_cust_recent (customer_id, created_at DESC);
-- Extra: Using index (no filesort)
This only matters for mixed directions — a single-column descending sort has always been able to read an ascending index backwards. The measurement was 340 ms to 4 ms on a 2 million row table, entirely from removing the sort of an intermediate result. Backward index scans are also slower than forward ones, which is a second, smaller reason to declare the direction you actually use.