恰西 / 按主题阅读

SQL

唯一性不能只靠插入前查一下

先查询再插入仍可能遭遇并发竞争,唯一性必须由约束保证。 两个并发请求都可能看到“目前不存在”,随后各自插入。数据库约束在写入时做最终判断,才有机会阻止竞争条件造成的重复记录。

继续阅读

分组查询的条件应该放在哪一层?

WHERE 过滤原始记录,HAVING 过滤分组后的聚合结果。 查询可以先从原始行里排除不符合条件的数据,再对剩余数据分组,最后筛选聚合结果。理解这两个过滤阶段,比死记 WHERE 和 HAVING 的名字更有效。

继续阅读

搜索文章

输入关键词,找回一篇记录。