【发布时间】:2021-07-03 21:57:50
【问题描述】:
我的问题很简单——属性越少的 SQL 查询成本越低吗?
示例:
假设我们的 users 表有 10 列,例如 userId、name、phone、email、...
SELECT name, phone FROM users WHERE userId='id'
比这个便宜
SELECT * FROM users WHERE userId='id'
从资源利用的角度来看是不是真的?
【问题讨论】:
-
无论如何,永远不要使用邪恶的
SELECT *。始终只命名您实际希望返回的列,并正确限定(如果需要,还可以使用别名)。 -
在某个时间点添加了一个名为
json_props的列,其中包含数兆字节的数据。如果您使用select *,那么您会突然通过网络发送大量您实际上并不需要的数据 -
我删除了不一致的数据库标签。请仅使用您真正使用的数据库进行标记。
-
这两个查询是不同的。你应该使用你真正需要的那个。在性能方面,
id上的索引比您选择的列重要得多,除非某些列非常宽。
标签: sql utilization