哪个查询可以有效地检查MySQL表是否为空?COUNT(*)与LIMIT?

如果在周围使用COUNT(*),LEAST()则MySQL会扫描至少一个索引,因此应避免使用LEAST(COUNT(*))并使用LIMIT。

让我们首先创建一个表。创建表的查询如下-

mysql> create table ReturnDemo
-> (
-> Id int,
-> Name varchar(10)
-> );

示例

现在,您可以使用insert命令在表中插入一些记录。查询如下-

mysql> insert into ReturnDemo values(100,'Larry');
mysql> insert into ReturnDemo values(101,'Bob');
mysql> insert into ReturnDemo values(102,'Sam');

使用select语句显示表中的所有记录。查询如下-

mysql> select *from ReturnDemo;

输出结果

+------+-------+
|   Id | Name  |
+------+-------+
|  100 | Larry |
|  101 | Bob   |
|  102 | Sam   |
+------+-------+
3 rows in set (0.00 sec)

以下是检查表是否为空的查询-

mysql> SELECT 1 AS Output FROM ReturnDemo LIMIT 1;

以下是显示1的输出,即表不为空-

+--------+
| Output |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)