2017年9月30日 星期六

[SQL] Compare Operator - where "=" and "in"

    • Step 1. 查詢
select * from Production.Product where Name = 'Chainring'
select * from Production.Product where Name = 'Chainring' or Name = 'Reflector'
select * from Production.Product where Name in ('Chainring', 'Reflector')
    • Step 2. 查詢結果
      • 查詢 1:where 條件較少相對成本較低
      • 查詢 2:where 條件較多相對成本較高
      • 查詢 3:使用 "=" 與 "in" 成本是相同
    • Step 3. 工具提示查看 I/O 與 CPU 成本
      • 估計的 I/O 成本:I/O 活動的估計成本
      • 估計的 CPU 成本:CPU 活動的估計成本
      • 估計的運算成本:估計的 I/O 成本 + 估計的 CPU 成本
      • 估計的子樹成本:該作業與子樹中所有作業的 “估計的運算成本” 累加總和
    • Result:
      1. where 條件越多越複雜,查詢成本相對會越高
      2. 使用 "=" 與 "in" 成本是相同
  • REF:
    • SQL Server 效能調校

沒有留言:

張貼留言