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

mysqlmysqli database更新于 2024/12/15 13:32:17

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

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

mysql> create table ReturnDemo
-> (
-> Id int,
-> Name varchar(10)
-> );
Query OK, 0 rows affected (0.79 sec)

示例

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

mysql> insert into ReturnDemo values(100,'Larry');
Query OK, 1 row affected (0.18 sec)
mysql> insert into ReturnDemo values(101,'Bob');
Query OK, 1 row affected (0.28 sec)
mysql> insert into ReturnDemo values(102,'Sam');
Query OK, 1 row affected (0.17 sec)

使用 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)

相关文章


有用资源