大神们求救啊 这条语句在数据库中查询要8秒 怎么才能提高查询效率呀

GGlow 2017-01-20 10:12:07
select top 200 unique_code,DH,ZTM,MLH,MJ,ZTC,AJH,OPEN_FLAG,QZH from (select row_number() over(order by UNIQUE_CODE desc) as rownumber,* from t_ar_00W3_base t1 where DELETE_FLAG='0' and TEMP_FORMAL in('formal') AND QZH = 'jl002') A where rownumber > 0

这条语句在sqlserver数据库中查询,180万条数据需要8秒 索引什么的都存在
...全文
294 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bree06 2017-01-20
  • 打赏
  • 举报
回复
看一下QZH , TEMP_FORMAL是否有索引, DELETE_FLAG的类型 第一步是将条件中的in改为=, 第二步将索引列提前, 如果没有索引则建索引.
菜 头 2017-01-20
  • 打赏
  • 举报
回复

select /*+USE_HASH(t1,A)*/  top 200 unique_code,DH,ZTM,MLH,MJ,ZTC,AJH,OPEN_FLAG,QZH  from (select row_number() over(order by UNIQUE_CODE desc) as rownumber,* from t_ar_00W3_base t1 where DELETE_FLAG='0' and TEMP_FORMAL in('formal') AND QZH = 'jl002') A where rownumber > 0
菜 头 2017-01-20
  • 打赏
  • 举报
回复

select /*+USE_HASH(t_ar_00W3_base,A)*/  top 200 unique_code,DH,ZTM,MLH,MJ,ZTC,AJH,OPEN_FLAG,QZH  from (select row_number() over(order by UNIQUE_CODE desc) as rownumber,* from t_ar_00W3_base t1 where DELETE_FLAG='0' and TEMP_FORMAL in('formal') AND QZH = 'jl002') A where rownumber > 0
只能说试试
ahaqzylx3_4 2017-01-20
  • 打赏
  • 举报
回复
把SQL分开,不一次性就整这一条SQL,看看怎么样

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧