sql - 嵌套 select 语句是否比 where 语句更好?
问题描述
我想加快我的查询速度。我想知道以下查询是否有任何性能差异。
方法#1:
select
*
from
t0, t1
where
t0.a = X
and t0.b = t1.b
方法#2:
select
*
from
(select * from t0 where t0.a = X) as t0', t1
where
t0'.b=t1.b;
解决方案
首先应避免使用逗号连接语法:
select *
from t0, t1
where t0.a = X
and t0.b = t1.b
=>
select *
from t0
join t1
on t0.a = X
and t0.b = t1.b;
第二个现代查询优化器执行谓词下推,因此您的两个查询都是等效的。
推荐阅读
- node.js - 使用从 express 转换的 lambda 与使用原始 lambda 的优缺点是什么
- python - 在字符串中查找连续的大写单词,包括撇号
- java - 我无法摆脱“对于类型 romanCalculator 错误的方法未定义以及非法修饰符是什么问题?
- reactjs - 如何在本机反应中从动画值中获取绝对值?
- r - 使用 R 将数字序列拆分为 10 位数字组
- python - 如何保留尾随零?
- android-studio - 有谁知道如何从亚马逊工作区调试平板电脑上的安卓应用程序?
- coq - Agda 相当于 `destruct
方程: ` - apache-kafka - Kafka 对时间戳进行分区以仅处理当前小时分区中的消息
- swift - SwiftUI 图像未正确显示为叠加层