星空网 > 软件开发 > 数据库

细心很重要

  今天在帮客户做语句优化的时候,突然遇到这样一个语句,类似下面的例子(原语句是个update)

  例子中使用AdventureWorks数据中的两个表。

  productID 是[Production].[Product] 表的主键,在[Purchasing].[PurchaseOrderDetail] 中也建立了非聚集索引

select name,(select count(*) from [Purchasing].[PurchaseOrderDetail] where ProductID = ProductID) from [Production].[Product]where ProductID = 341

  

-----------------------------------此处请在心中默念 执行语句的意思,会选择什么样的索引?-----------------------------------------

    

 

 

 

 

 

 

 

 

 

    首先来看一下 执行计划

    细心很重要

 

 

    [Purchasing].[PurchaseOrderDetail]  为什么走索引扫描? 这明显应该索引查找啊!

    仔细看一下索引扫描的谓词

    细心很重要

 

    我靠自己和自己匹配去了  ? 和你想的一样么?

    修改下代码~看看问题的所在

    

select name,(select count(*) from [Purchasing].[PurchaseOrderDetail] 

where ProductID =[Production].[Product].ProductID)
from [Production].[Product] where ProductID = 341

    细心很重要

    细心很重要

    这是一个由于粗心而犯下的错误,例子中是一个查询,实际中却是一个update 影响可想而知,而这个影响在存储过程中久久没能发现,要不是优化查看了执行计划关系开销,我扫一眼代码也想当然的觉得完全没问题!

    问题得到解决,即解决的语句运行速度慢的问题,又找出了程序的BUG。

    总结: 细心很重要!

细心很重要



原标题:细心很重要

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

跨境物流包装:https://www.goluckyvip.com/tag/93179.html
如何防止断货:https://www.goluckyvip.com/tag/9318.html
跨境电商和物流:https://www.goluckyvip.com/tag/93180.html
跨境电商物流网络包括:https://www.goluckyvip.com/tag/93181.html
跨境电商物流包括:https://www.goluckyvip.com/tag/93182.html
跨境电商美国专线物流:https://www.goluckyvip.com/tag/93183.html
Facebook产品更新|进阶赋能型智能购物广告发布新受众报告指南:https://www.kjdsnews.com/a/1840760.html
Facebook产品更新|进阶赋能型智能购物广告发布新受众报告指南:https://www.xlkjsw.com/news/88143.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流