gpt4 book ai didi

Sql通配符: performance overhead?

转载 作者:行者123 更新时间:2023-12-04 19:06:00 25 4
gpt4 key购买 nike

我用谷歌搜索了这个问题,似乎找不到一致的意见,或者许多基于可靠数据的意见。我只是想知道在 SQL SELECT 语句中使用通配符是否会比单独调用每个项目产生额外的开销。我在几个不同的测试查询中比较了两者的执行计划,似乎估计值总是相同的。是否有可能在其他地方产生一些开销,或者它们是否真的以相同的方式处理?

我具体指的是:

SELECT *

对比
SELECT item1, item2, etc.

最佳答案

SELECT * FROM...


SELECT every, column, list, ... FROM...

将执行相同的操作,因为两者都是未优化的扫描

区别在于:
  • sys.columns 中的额外查找来解决 *
  • 表架构更改时契约(Contract)/签名更改
  • 无法创建覆盖索引。事实上,根本没有任何调整选项,真的
  • 如果非架构绑定(bind),则必须刷新所需的 View
  • 无法使用 *
  • 对 View 进行索引或模式绑定(bind)
  • ...和其他东西

  • 关于同一主题的其他 SO 问题...
  • What is the reason not to use select * ?
  • Is there a difference betweeen Select * and Select list each col
  • SQL Query Question - Select * from view or Select col1,col2…from view
  • “select * from table” vs “select colA,colB,etc from table” interesting behaviour in SqlServer2005
  • 关于Sql通配符: performance overhead?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1867946/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com