MySQL 中 SELECT * 是否比列出 40 個列要快?
SELECT * 比列出 40 個列慢,使用 SELECT 查詢時最好列出列名。我們來看一個簡單的示例並建立一個表 -
mysql> create table DemoTable( Id int, Name varchar(20), Age int, ZipCode varchar(20), CountryName varchar(20) ); Query OK, 0 rows affected (0.82 sec)
使用 insert 命令向表中插入一些記錄 -
mysql> insert into DemoTable values(101,'Chris',23,'0909332','US'); Query OK, 1 row affected (0.48 sec) mysql> insert into DemoTable values(102,'Bob',24,'8747443','AUS'); Query OK, 1 row affected (0.50 sec) mysql> insert into DemoTable values(103,'Adam',21,'9988833','UK'); Query OK, 1 row affected (0.11 sec)
使用 select 語句從表中顯示所有記錄 -
mysql> select *from DemoTable;
這將生成以下輸出 -
+------+-------+------+---------+-------------+ | Id | Name | Age | ZipCode | CountryName | +------+-------+------+---------+-------------+ | 101 | Chris | 23 | 0909332 | US | | 102 | Bob | 24 | 8747443 | AUS | | 103 | Adam | 21 | 9988833 | UK | +------+-------+------+---------+-------------+ 3 rows in set (0.00 sec)
現在,我們將在使用 MySQL SELECT 時列出每個列名,因為這被認為是一種更快的做法 -
mysql> select Id,Name,Age,ZipCode,CountryName from DemoTable;
這將生成以下輸出 -
+------+-------+------+---------+-------------+ | Id | Name | Age | ZipCode | CountryName | +------+-------+------+---------+-------------+ | 101 | Chris | 23 | 0909332 | US | | 102 | Bob | 24 | 8747443 | AUS | | 103 | Adam | 21 | 9988833 | UK | +------+-------+------+---------+-------------+ 3 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP