MySQL 选择性能

ahm*_*tem 6 mysql performance

可能的重复:
哪个更快/最好?SELECT * 或 SELECT 列 1、列 2、列 3 等

我有一个关于 MySQL 性能的问题。在开始之前,抱歉我的英语不好。

问题是:星号和逗号分隔的字段名称之间的性能差异是什么。

例如:a 在“example_table”中有一个名为“example_table”的表,并有 5 个名为“f1、f2、f3、f4、f5”的字段。

select * from `example_table`;
Run Code Online (Sandbox Code Playgroud)

或者

select f1, f2, f3, f4, f5 from `example_table`;
Run Code Online (Sandbox Code Playgroud)

感谢您的回复。

Arn*_*anc 6

如果选择所有字段,则不会有可测量的性能差异。

这提高了代码的可读性,因为您确切地知道查询将返回哪些字段。

如果您不选择所有字段,则第二种形式的性能会稍好一些,因为 MySQL 将在网络上发送较少的数据。

如果表包含 TEXT 或 BLOB 列并且您不询问这些列,这也可能会导致磁盘读取减少。这些类型不直接存储在行中,因此这可以避免一些额外的磁盘读取。

不过,如果选择所有字段,则不会有可测量的性能差异。