有一张简单的表 t ,总共 11 个字段 ,关键字段如下:
- id int64 自增主键
- a char(36) NOT NULL
- b char(36) NOT NULL
- c char(36) NULL
除主键索引之外,还有两个索引:
- UNIQUE INDEX (a)
- INDEX (b)
现在有一个简单的查询
SELECT * FROM t WHERE b = ? AND c IS NOT NULL AND id > ? LIMIT 32 ORDER BY id ; 在表有大几千万条数据,并且 WHERE 匹配到的行数很多的时候,同样的数据在 MySQL 5.7.x 版本查询非常快,1s 以内,但是在另外一台 MySQL 8.0.25 上就要二十几秒,可能是什么原因呢?
