问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sqlserver 查询语句优化

发布网友 发布时间:2022-04-08 09:00

我来回答

8个回答

热心网友 时间:2022-04-08 10:29

你后面这些条件都错误:
( cc.business='INSPECTION' and bil.customer_name like '%' + cl.client_name + '%' or
cc.business='INSPECTION' and bil.header_dff_value12 like '%' + cl.client_name + '%' or
cc.business='INSPECTION' and bil.header_dff_value13 like '%' + cl.client_name + '%' or
cc.business='INSPECTION' and bil.ship_to_party_name like '%' + cl.client_name + '%' or
cc.business='INSPECTION' and bil.header_dff_value6 like '%' + cl.client_name + '%' or
cc.business='AUDIT' and bil.customer_name like '%' + cl.client_name + '%' or
cc.business='AUDIT' and bil.header_dff_value13 like '%' + cl.client_name + '%' or
cc.business='AUDIT' and bil.ship_to_party_name like '%' + cl.client_name + '%' or
cc.business='AUDIT' and bil.header_dff_value6 like '%' + cl.client_name + '%' or
cc.business='TESTING' and bil.customer_name like '%' + cl.client_name + '%' or
cc.business='TESTING' and bil.header_dff_value12 like '%' + cl.client_name + '%' or
cc.business='TESTING' and bil.ship_to_party_name like '%' + cl.client_name + '%' )

你这样的条件查出来的结果应该是不对的

再这,我认为你那块条件可以不需要,你再上面已经处理过,下面还有意义吗?

热心网友 时间:2022-04-08 11:47

LIKE '%关键字%' 的, 实在没办法用索引。

而且 还是 LEFT JOIN ON 里面的条件 是 这样。

我来做个标记,学习学习。

热心网友 时间:2022-04-08 13:22

一般是传入的数据比数据库里面定义字段最大长度大造成的。
比如说一个字段定义成nvarchar(50),你传入100个中文字的到那个字段,他就会报这个错。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

热心网友 时间:2022-04-08 15:13

优化是个综合工程。我看了以上各位的回答,基本上是隔靴搔痒。并没有给出实质性的处理问题方案。似乎一遇到性能问题,就是加索引。索引不是万能的,索引是双刃剑,建的不当同样影响查询性能。所以,什么时候需要建索引,在什么字段上建索引,建什么类型的索引,都是值得仔细考虑的问题。

你这个查询,涉及的就是3张表,为何语句搞的这么复杂?原因就是表设计的不好,不合理。所有的数据库设计都是一环扣一环设计下来,围绕一个核心:业务逻辑,只有把业务逻辑分析透彻了,才能设计出合理的数据表。关系数据库就是这样,让你把一个实体按照范式分解,存储在数据表中。

那么我的建议就是,自己分析业务逻辑,看看是否考虑可以重新设计表,从本质上解决问题。再一个,用存储过程封装语句,也可以提高性能。而且,可以利用临时表来提高性能。

不知,是否赞同我的看法。

热心网友 时间:2022-04-08 17:21

看着太乱了,实在解决不了了,发给我个表结构,把功能描述一下我重新给你写一下。

热心网友 时间:2022-04-08 19:46

重写搜索算法,建议通过加权算法实现。

热心网友 时间:2022-04-08 22:27

我勒个去啊

好长啊

热心网友 时间:2022-04-09 01:25

建议left join部分的那个表 加几个索引
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华丽转身为什么在优酷看不了了之 《华丽转身:爱情不在服务区》txt全集下载 翡翠台华丽转身英文曲 matplotlib中plt.imshow函数画图出现的颜色问题 数字图像处理(c++ opencv):形态学图像处理-提取连通域 ...opencv做东西,网上的程序读着还可以,程序遇到问题不会改,一些函_百... 深度学习面试问题总结 | 传统图像处理——OpenCV 活虾如何在晚上保持存活状态进行保存? neu代表什么意思 民办学校和私立学校的区别是什么民办学校和私立学校的区别 啮掉怎么造句 泰森是什么时候结束自己的拳王生涯? 用“扒土”“搬掉”“踏地”造句。 泰森在拳击项目上,输给过哪些人? 秋天来了树上的叶子变黄了一片一片地飘落下来这是为什么呢读句子照样... 泰森都输给谁了 什么样的泥石流,怎么样掉了下来造句 拳王泰森职业比赛中一共输了几次..? 仿照“我哭,山河却在欢笑;我掉落下来,花早却昂起了头,挺起了腰,绽放了笑脸”写一句话 世界重量级拳王泰森被谁打败 用拿,伸,倒,掉,放这几个词造句 如何将原绑定现在的手机号? 泰森最后一场比赛为什么败给了凯文·麦克布莱德? 什么从什么上掉下来了造句 雨水掉落了 大桥的造句有哪些 掉下来造句? 用落字不用意思造句,1,下降,怎造句,1,掉下,怎样造句? 新注册的怎么改手机号 在drgs中,root组是什么意思 有谁知道CMI9761A芯片的声卡驱动说一下 乌鸦一开口肉就掉了下来造句 用“天上掉馅饼”造句? 泰森的战绩是多少?几次KO对手? 昔日之光是什么意思? 泪珠掉下来 谁帮我造句?急. 只要在前面加几个形容词 世界上是不是没有人打得过泰森了,他是天下第一? 用舍掉什么得到什么造句 昔日的阳光 曾经的拳王泰森宣布复出,为什么那么多人相信泰森还能打? 用尾大不掉造句 昔日的光彩你快回来。 泰森统治了拳坛多少年??大概哪一年开始被拉下神坛的? 深不可测,掉以轻心 造句 “昔日的时光”是什么意思? 昔日的阳光,还会有我的存在么什么意思 昔日的时光什么意思? 在追寻昔日的阳光修辞手法? 我怀念的是我们在昔日的阳光下走过的青葱岁月,可如今却早已物是人非, 冷风微微吹过拂面 泪珠点点洒满眼眸,黎明不见昔日的光辉什么意思?_百度问一问 像翩翩归去的燕子,在追寻昔日的阳光 用了什么修辞手法