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)
廣告