MySQL 的 filesort 不是 stable 的
呃,别会错意,我的意思不是说 MySQL 开始 filesort 就会不稳定,而是说他的排序算法不是 stable 的。 某表中有两个字段,一个是 log_time, DATETIME 类型, 一个是 user_id , BIGINT 类型。 SQL 是 SELECT XXX FROM xx_table WHERE user_id = 111 ORDER BY log_time DESC 。 一开始表上的索引建错了,建成了 user_id,log_time 的联合索引,于是上面的 SQL 用上这个索引以后,就做了 filesort , 这时候发现所有 log_time 相同的列顺序是乱的,有……