SQL语句为什么使用select * 会降低查询速度

2025-01-02 15:21:58
推荐回答(1个)
回答1:

相比穷举所有字段,Oracle只是会多一个查数据字典的开销(数据库需要知道*等于什么),常数级复杂度,oracle的风格一般来说不推荐加schema前缀,这样你才可以通过同义词动态切换schema.

此外,如果是*就不可能走索引直接访问的优化了,不过考虑到你的需求是查所有字段,能走该优化的情况很少。

此外,如果程序写得好,如果增加字段也不会影响结果。因为字段有顺序,默认新增的是排序在最后。如果你的程序是获取meta Data的,是可以处理这种变化的情况的。

作者:Willy
链接:https://www.zhihu.com/question/37777220/answer/73577214
来源:知乎
著作权归作者所有,转载请联系作者获得授权。