我们确定数据是否存在的需求很是常见,常常通过以下方式进行判断:
SELECT count(*) FROM table WHERE a = 1 AND b = 2
这会导致全表扫描。
当然,当数据不存在时,全表扫描是必须的,但如果数据存在多条,这种查询方式查询到数据后继续扫描全表,因此可以进行优化。
SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1
当我们只需要判断存在性时候,只需要在最后加上limit 1因此,数据查到后直接返回,优化了存在多条数据的场景。