检查 MySQL 表是否为空更有效率的查询是:COUNT(*) 还是 LIMIT?


如果你在 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)

更新时间: 2020 年 6 月 26 日

172 次查看

开启你的 事业

完成课程获得认证

开始学习
广告