exists (select 1)写法


今天在查找日志信息的时候,发现了一条有趣的 SQL 写法,随即记录下来。 在 SQL 中EXISTS (SELECT 1 ...) 是一种常见的用法,用于检查子查询是否返回任何行。这里的 SELECT 1是一个习惯写法。 子查询 SELECT 1 不关心具体返回的值,只关心是否有行被返回,而并不关心

SQL优化子查询上拉


根据该篇文章做的实验发现个有趣的现象,所以记录下来。 CREATE TABLE t1 (a INT, b INT); INSERT INTO t1 SELECT i, 1 FROM generate_series(1, 100000) i; CREATE TABLE t2 AS SELECT * F

SQL 优化之 OR 子句改写


前言 在常见的 SQL 优化技巧中,将 OR 语句改写为 UNION 是一种常见的手段。当 OR 连接的两个条件互斥时,可以改写为 UNION ALL,从而避免去重操作,进一步提升查询性能,主要原因在于优化器在处理 OR 时,很难充分利用已有的索引,导致查询计划可能退化为全表扫描或较低效的执行方式。