关于SQL性能优化问题

jeffersyan 2006-01-06 10:26:08
现在有下面一段SQL,各位DX有什么好的优化方法,谢谢,

SELECT KOKYAKU_NO,TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE WHERE TAKEI_KOJIN_ID IN(SELECT TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE WHERE KIGOU IS NULL AND TAKEI_KOJIN_ID IS NOT NULL AND KOJIN_CD ='810105' GROUP BY TAKEI_KOJIN_ID HAVING COUNT(*)>1) AND KIGOU IS NULL AND KOJIN_CD ='810105' ORDER BY UPDATE_DAY DESC,KOKYAKU_NO DESC

已建立了TAKEI_KOJIN_ID ,KIGOU,KOJIN_CD 索引,不可以设置主键,谢谢各为了,
...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeffersyan 2006-01-11
  • 打赏
  • 举报
回复
谢谢大家的帮助,但是因为有了GROUP BY TAKEI_KOJIN_ID,所以无法使用ORDER BY UPDATE_DAY DESC了,否则会语法错误的.
feiyun0112 2006-01-11
  • 打赏
  • 举报
回复
SELECT a.KOKYAKU_NO,a.TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE a
inner join (
SELECT TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE WHERE KOJIN_CD ='810105' and KIGOU IS NULL AND TAKEI_KOJIN_ID IS NOT NULL GROUP BY TAKEI_KOJIN_ID HAVING COUNT(*)>1
) b
on a.TAKEI_KOJIN_ID =b.TAKEI_KOJIN_ID
WHERE a.KOJIN_CD ='810105' and a.KIGOU IS NULL ORDER BY a.UPDATE_DAY DESC,a.KOKYAKU_NO DESC
kjq_vb 2006-01-10
  • 打赏
  • 举报
回复
你的T_KOKYAKU_NAYOSE表中有UPDATE_DAY字段就可以用order by 了,不需要在检索的结果里有UPDATE_DAY字段
jeffersyan 2006-01-10
  • 打赏
  • 举报
回复
谢谢DX的回答,不过因为检索的结果里面,并没有UPDATE_DAY,所以无法使用ORDER BY.所以觉的还是要用IN语句.
jeffersyan 2006-01-06
  • 打赏
  • 举报
回复
主查询里面的KIGOU IS NULL AND KOJIN_CD ='810105' 不能删掉,虽然子查询里有了限定,但是主查询里删掉的话,结果也是不对的
hamadou 2006-01-06
  • 打赏
  • 举报
回复
SELECT KOKYAKU_NO,TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE WHERE TAKEI_KOJIN_ID IN(SELECT TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE WHERE KIGOU IS NULL AND TAKEI_KOJIN_ID IS NOT NULL AND KOJIN_CD ='810105' GROUP BY TAKEI_KOJIN_ID HAVING COUNT(*)>1) ORDER BY UPDATE_DAY DESC,KOKYAKU_NO DESC

3tzjq 2006-01-06
  • 打赏
  • 举报
回复
都是在一张表里就不必 In(...)了!
KOJIN_CD ='810105' 放前面会快些!
TAKEI_KOJIN_ID 是主键,那么也应提前(放KOJIN_CD ='810105' 后面)
Count(这里最好是主键)!

SELECT KOKYAKU_NO,TAKEI_KOJIN_ID FROM T_KOKYAKU_NAYOSE WHERE KOJIN_CD ='810105'AND TAKEI_KOJIN_ID IS NOT NULL AND KIGOU IS NULL GROUP BY TAKEI_KOJIN_ID HAVING COUNT(TAKEI_KOJIN_ID)>1 ORDER BY UPDATE_DAY DESC,KOKYAKU_NO DESC

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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