中易网

sql语句优化。 数据级为百万级别

答案:1  悬赏:0  
解决时间 2021-01-30 14:17
select
A.ITEM_CODE,A.SERIAL_NO,B.ENG_DESC,A.STATUS,C.DESC_ENG as CurrentStatus,
dbo.f_rp_getStartingServiceDate(A.ITEM_CODE,A.SERIAL_NO) as StartingServiceDate ,
dbo.f_rp_getServingHours(A.ITEM_CODE,A.SERIAL_NO) as ServingHours,
(select count(1) from T_INVENTORY_DET where ITEM_CODE=A.ITEM_CODE and SERIAL_NO=A.SERIAL_NO ) as MaintenanceCount
from T_INVENTORY_DET as A left join T_ITEM_M as B on B.ITEM_CODE=A.ITEM_CODE
left join T_CODE_M as C on C.CODE=A.STATUS
where B.ITEM_TYPE='MAJOR'
and C.MASTER_TYPE='D'
and C.MASTER_CODE='INV_S'

通过这个查询count 假设有1000条记录。而f_rp_getStartingServiceDate和f_rp_getServingHours函数所查询表都是百万级别的数据量

f_rp_getStartingServiceDate里的代码

set @StartingServiceDate = (
select top 1 CONVERT(varchar(100), HIRE_DATE, 103)
from T_EQUIP_COLLECT t where EC_No in(
select EC_No from T_EQUIP_COLLECT_DET td where ITEM_CODE=@ITEM_CODE and CRAFT_SERIAL_NO= @SERIAL_NO
)
order by HIRE_DATE asc
)
f_rp_getServingHours里的代码类似就不发出来了,
请大侠赐教,该怎么样优化。现在执行这个时间太久基本数据库被锁死了。
最佳答案
数据优化不外乎索引,必要冗余字段,分表等。
这条sql调用了两个函数,且都查询了百万数据级别的表,建议在被检索的字段加索引。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
花样青春有梦有力,美丽祖国有你有我手抄报
速求:陕西省.宝鸡市.陇县三地招生办联系电话
苹果手机刷机后无法开机怎么办
老总汇进银行一笔钱但是没有收据公司该怎么做
忘记苹果ID密码了怎么办
2013年八月湖南卫视演的电视剧叫什么
什么是爱中有严,严中有爱?
液晶电视进水了有声音没图像怎么办
执行终结什么意思
1700的手机号码人工服务的号码是多少,像电信
珂珀(艾尚名品)地址有知道的么?有点事想过去
坎巴拉太空计划realism overhaul怎么装
报道杨紫整容说脸型都变了,那我脸型也变了属
梦幻田园怎么样
星火别墅轰趴馆地址在哪,我要去那里办事
推荐资讯
凝汽式汽轮机两缸两排汽中的两排汽指的是?
幼儿园让孩子进教室换鞋的好处
螺杆泵不适合输送什么介质
装修中的延米与套米分别是什么意思
dr.eye9.0为什么不能全文翻译
为何下载不了侠盗猎车手? 信息:安装软件:X
4g流量卡和4g上网套餐是叠加的吗
甜品汤怎么做好吃,甜品汤的吃法
lib 格式点读教材放到诺亚舟点读机里为什么不
蜗牛的壳有哪些用处?
购物卡汇通卡怎么转进支付宝
如何在电脑中找到上传照片
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?