AbyssalSwamp  ActivaUser
» Guest:  Register | Login | 冻结用户(激活) | Residents

RSS subscription to this AbyssalSwamp  

Previous thread Next thread
       
Title: GET到新知识了。使用 SELECT 1 来提高查询性能,因为它比选择实际的列更轻量级。  
  This topic was added by com at 2024-11-22 11:53 移动 
 
sky999
天山茗客



UID 181291
Digest 2
Points 10
Posts 3869
码币MB 2619 Code
黄金 0 Catty
钻石 884 Pellet
Permissions 10
Register 2020-11-28
Status offline
GET到新知识了。使用 SELECT 1 来提高查询性能,因为它比选择实际的列更轻量级。



UPDATE A
SET USER = (
    SELECT username
    FROM MEM
    WHERE MEM.UID = A.UID
)
WHERE EXISTS (
    SELECT 1
    FROM MEM
    WHERE MEM.UID = A.UID
);
在上述 SQL 语句中,SELECT 1 是一个简单的子查询,该子查询的目的是检查是否存在匹配条件的记录。SELECT 1 可以理解为选择任意一列并返回一个常量值 1。

在这个特定的情况下,SELECT 1 子查询被用作 EXISTS 子句的参数。EXISTS 子句用于测试子查询是否返回任何结果,如果有至少一条记录存在,则 EXISTS 返回 true,否则返回 false。

因为在 EXISTS 子查询中我们只关心是否存在匹配的记录,而不需要实际的结果或具体的列,所以可以使用 SELECT 1 来提高查询性能,因为它比选择实际的列更轻量级。

总结:SELECT 1 是一个常用的惯例,在 EXISTS 子句中用来检查是否存在匹配的记录,它的具体值并不重要,只是用作占位符来指示存在与否。




CAFFZ.com
2023-7-11 11:02#1
View profile  Blog  Send a short message  Top
       


  Printable version | Recommend to a friend | Subscribe to topic | Favorite topic  


 


All times are GMT+8, and the current time is 2025-6-27 14:54 Clear informations ->sessions/cookies - Contact Us - CAFFZ - ZAKE