gpt4 book ai didi

SQL 通配符 : performance overhead?

转载 作者:可可西里 更新时间:2023-11-01 07:45:27 25 4
gpt4 key购买 nike

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

我具体指的是什么:

SELECT *

对比

SELECT item1, item2, etc.

最佳答案

SELECT * FROM...

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

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

区别在于:

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

关于同一主题的其他 SO 问题...

关于SQL 通配符 : performance overhead?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485741/

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