MySQL CASE 語句或者 PHP if 語句,哪個更快?


MySQL CASE 語句比 PHP if 語句更快。PHP if 語句需要花費較長時間,因為它載入資料而且隨後才進行處理,而 CASE 語句卻不如此。

讓我們首先建立一個表並根據 MySQL CASE 語句舉例說明 −

mysql> create table DemoTable (Value int);
Query OK, 0 rows affected (0.70 sec)

使用插入命令向表中插入一些記錄 −

mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(500);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(1000);
Query OK, 1 row affected (0.13 sec)

使用 select 語句顯示錶中的所有記錄 −

mysql> select *from DemoTable;

這將生成以下輸出 −

+-------+
| Value |
+-------+
| 100   |
| 500   |
| 1000  |
+-------+
3 rows in set (0.00 sec)

MySQL CASE 語句的查詢如下 −

mysql> select Value, case when Value > 500 THEN "It is greater than or equal to 1000"
   else
   "It is lower than 1000"
   end as comparison from DemoTable;

這將生成以下輸出 −

+-------+-------------------------------------+
| Value | comparison                          |
+-------+-------------------------------------+
|   100 | It is lower than 1000               |
|   500 | It is lower than 1000               |
| 1000 | It is greater than or equal to 1000  |
+-------+-------------------------------------+
3 rows in set (0.00 sec)

更新時間:22-Aug-2019

832 次瀏覽

助力您的職業發展

透過完成課程,獲得認證

立即開始
廣告