SELECT *是否比MySQL中列出的40列快?

SELECT *比40列列表慢。在使用SELECT查询时列出列名是一个更好的选择。让我们看一个简单的例子并创建一个表-

create table DemoTable(
   Id int,
   Name varchar(20),
   Age int,
   ZipCode varchar(20),
   CountryName varchar(20)
);

使用插入命令在表中插入一些记录-

insert into DemoTable values(101,'Chris',23,'0909332','US');
insert into DemoTable values(102,'Bob',24,'8747443','AUS');
insert into DemoTable values(103,'Adam',21,'9988833','UK');

使用select语句显示表中的所有记录-

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时列出每个列名,因为它被认为是一种更快的方法-

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)