关于 MySQL,limit 1 的机制问题
出现的情景
以下有两条 sql 语句,第一条
SELECT * FROM g_1242_award where a_uid = 0 and a_start < 1576215393 and a_awardid in (3,4);
查询结果如下

另外一条
SELECT * FROM g_1242_award where a_uid = 0 and a_start < 1576215393 and a_awardid in (3,4) limit 1;
查询结果如下

可以看到,第一条 sql 查询出来的第一条数据,主键为 2 的数据!
为何增加 limit 1 条件后,会查询出主键为 20 的数据?
疑问
从查询出的数据来理解,加了 limit 条件之后,mysql 对 a_award_id 字段进行了排序,然后 取出了第一条数据!这是 mysql 底层做的处理吗?为何是这样的处理呢?

关于 LearnKu
推荐文章: