檢查 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 次檢視

開啟你的 事業

完成課程獲得認證

開始學習
廣告