SQL:如何检查相关行是否存在?

我们看

我有一个第一个表和一个相关的第二个表,其中有一个指向第一个表的外键。

第二个表中的行数范围可以从零行到数百万或行(时间序列数据)。

当向最终用户显示第一个表的行时,我想显示第二个表中是否有相关的行-是或否,不多。

目前,我离开了表格并在第二张桌子上计数。但是我怀疑这只是确定第二张表中是否有相关行的一种缓慢且消耗资源的方式。

SELECT
    first.id,
    first.title,
    Count( second.id ) as count
FROM
    first
LEFT JOIN
    second
ON
    first.id = second.first_id
GROUP BY
    first.id
ORDER BY
    count DESC

在两个表上的主键中都有索引id数据库ist PostgrSQL。

什么是更快和/或更少的资源消耗方式?

a_horse_with_no_name

我会用标量子选择而不是联接来做到这一点:

select f.*, 
       exists (select * from second s where s.first_id = f.id) as rows_in_second_exists
from first

exists一旦发现行操作员将停止查看第二张表。索引打开second (first_id)将加快速度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查是否存在相关行以及缺失行

来自分类Dev

如何检查行是否存在

来自分类Dev

检查是否存在一组相关的行

来自分类Dev

你如何检查行是否已经存在

来自分类Dev

如何检查行是否存在 PDO PHP?

来自分类Dev

如何检查SQL Server约束是否存在?

来自分类Dev

如何在合并数据集之前检查行是否存在(SQL Server)

来自分类Dev

使用PowerShell检查SQL Server中的行是否存在

来自分类Dev

用于检查行是否已存在的 SQL 触发器

来自分类Dev

检查行是否存在,Laravel

来自分类Dev

检查行是否存在SQLite

来自分类Dev

检查行是否存在值

来自分类Dev

Mybatis:如何检查行是否存在并返回布尔值?

来自分类Dev

如何检查数据行中是否存在列

来自分类Dev

如何在插入前检查行是否存在?

来自分类Dev

SQL 检查是否存在多个

来自分类Dev

如何检查SQL Server表中是否存在行?

来自分类Dev

如何检查SQL Server中是否存在多列

来自分类Dev

如何在插入sql表之前检查条目是否存在

来自分类Dev

从xml插入时如何检查记录是否存在的sql

来自分类Dev

如何使用SQL检查表中是否存在变量

来自分类Dev

如何检查SQL中表的任何列中是否存在值

来自分类Dev

如何检查SQL中是否存在第二高的分数?

来自分类Dev

如何使用python语句检查sql表是否存在?

来自分类Dev

ms sql server如何检查表是否具有“ id”列并计数行(如果存在“ id”)

来自分类Dev

如何检查UIActivityTypeAirDrop是否存在

来自分类Dev

如何检查元素是否存在?

来自分类Dev

如何检查功能是否存在

来自分类Dev

如何检查命令是否存在?