我一直在阅读此内容,并且我明白最好明确列出列名称,但我仍然有一个问题。选择* vs选择所有列名称
让我们假设下面的情况(这是非常接近我的真实的生活场景):我没有使用任何BLOB数据
新列将永远不会被添加
我其实想要返回所有的列
- 我有一张大约有1.4亿行的表格
- 我实际上并不需要所有1.4亿行,但让我们假装我为了参数而做
- 我没有使用任何连接,也没有人会使用
- 下面的查询实际上完全是我如何运行查询。
有以下查询之间的性能差异:
select *
from table
VS
select every_column_name
from table
编辑:据我所知,在这个题目上百万的问题。但是对于这个特定的情景是否有任何性能差异?是select *
仍然不好或将两个查询具有相同的性能?
从我所知道的情况来看,基于使用explain
的结果,对于这种特殊情况没有区别。
使用'select *'没有什么坏处,特别是对于临时查询。有一些风险,但你似乎理解它们,所以你可以在你的特定情况下做出最好的决定。 –