MySQL 选择性能

标签 mysql performance

<分区>

Possible Duplicate:
Which is faster/best? SELECT * or SELECT column1, colum2, column3, etc

我对 MySQL 的性能有疑问。在开始之前,抱歉我的英语不好。

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

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

select * from `example_table`;

select f1, f2, f3, f4, f5 from `example_table`;

感谢回复。

最佳答案

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

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

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

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

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

关于MySQL 选择性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7217117/

相关文章:

php - 如何从服务器上的 ftp 下载文件,然后使用从中导入数据

php - WordPress 选择计数查询优化

python - 如何在 django 中进行左连接?

css - Angular:如何根据需要请求图像以加速加载(使用 ngx-bootstrap)

具有常量的 Python 矢量化

performance - Sql 2008 在 Vista 64 中异常缓慢

mysql - 如何消除sql查询中的冗余?

performance - 如何在不干扰真实用户的情况下从我的网站阻止恶意机器人?

java - 为什么 StringBuilder 链接模式 sb.append(x).append(y) 比常规 sb.append(x) 快; sb.append(y)?

java - Mysql 事务和 RabbitMq