我想知道表中是否有行.使用MySQL,进行如下查询是否更好:

SELECT COUNT(*) AS total FROM table1 WHERE ...

然后判断总数是否为非零,或者进行如下查询是否更好:

SELECT * FROM table1 WHERE ... LIMIT 1

并判断是否返回了任何行?

在这两个查询中,WHERE子句都使用索引.

推荐答案

你也可以试试EXISTS:

SELECT EXISTS(SELECT * FROM table1 WHERE ...)

the documentation个,你可以做任何事.

传统上,EXISTS子查询以SELECT*开头,但它可以

Mysql相关问答推荐

在SQL中连接两个表,从第一个表中 Select 随机行

MySQL 8.0.28覆盖(和函数)索引未使用

MySQL连接序列

无法删除或更新父行:外键约束无法删除表

如何在使用VALUES()插入时指定jOOQ中的行别名

使用 presto 或 mysql 添加每个组中的缺失值

MYSQL:如何根据之前的相关记录获取记录

MYSQL除以零警告,奇怪的行为

MySQL 8 - MBRContains 不使用空间索引

巨大的未分区 MySQL 表问题

Select 多列但仅按 1 列分组

MYSQL 或 Laravel Eloquent 如何从这个订单中统计细节

具有别名主机的 ssh 反向 mysql tunel

将每组的总和除以总数

如何在 Windows 上访问 xampp 的命令行

MySQL - 如何 Select 值在数组中的行?

MySQL:在 Select 语句中自动增加临时列

MySQL 整数与日期时间索引

在另一个 where 语句(子查询?)中使用一个 sql 查询的结果

ON UPDATE RESTRICT 有什么作用?