asa的in效率分析

本文通过两个具体的SQL查询对比,展示了如何利用IN子句而非直接关联来提高查询效率。通过实际例子说明了不同的查询方式对执行时间的影响。

 in 比 直接关联效率高
如:
select g.examid as examid,
       g.code_course as code_course,
       i.sackid as sackid,
       g.permitid as permitid,
       g.name_cn as name_cn,
       g.inputno as inputno,
       g.operator as operator,
       convert(integer,g.smallid) as smallid,
       g.grademark as grademark
from exam_grade_small g,
     exam_stusackinfo i
where  g.examid = 1
  and g.code_course = '002'
  and (g.operator='9999' or g.operator='8888')
  and g.examid = i.examid
  and g.code_course = i.code_course
  and g.permitid between i.startpermitid and i.endpermitid
  and exists(
select 1 from
(select a.examid,a.code_course,a.permitid,a.smallid
  from exam_grade_small a
 where a.examid = 1
   and a.code_course = '002'
   and (a.operator='9999' or a.operator='8888')
group by a.examid,a.code_course,a.permitid,a.smallid
 having count(distinct a.grademark) > 1 or count(distinct a.operator) = 1) h
where
g.examid = h.examid
  and g.code_course = h.code_course
  and g.permitid = h.permitid
  and g.smallid = h.smallid
)
--执行时间0.078秒

select g.examid as examid,
       g.code_course as code_course,
       i.sackid as sackid,
       g.permitid as permitid,
       g.name_cn as name_cn,
       g.inputno as inputno,
       g.operator as operator,
       convert(integer,g.smallid) as smallid,
       g.grademark as grademark
from exam_grade_small g,(select a.examid,a.code_course,a.permitid,a.smallid
  from exam_grade_small a
 where a.examid = 1
   and a.code_course = '001'
   and (a.operator='9999' or a.operator='8888')
group by a.examid,a.code_course,a.permitid,a.smallid
 having count(distinct a.grademark) > 1 or count(distinct a.operator) = 1) h,
     exam_stusackinfo i
where g.examid = h.examid
  and g.code_course = h.code_course
  and g.permitid = h.permitid
  and g.smallid = h.smallid
  and g.examid = 1
  and g.code_course = '001'
  and (g.operator='9999' or g.operator='8888')
  and h.examid = i.examid
  and h.code_course = i.code_course
  and h.permitid between i.startpermitid and i.endpermitid

--执行时间超过30秒

 

已经博主授权,源码转载自 https://pan.quark.cn/s/e577710b7191 ### 解决Win10系统中Word文件图标显示不正常问题 #### 问题描述 在Windows 10操作系统中,部分用户遇到Word文档图标呈现非正常状态的问题。具体表现为:本应展示为Microsoft Word图标的DOC或DOCX文件,在系统中却呈现为常规的文本文件图标。这种现象不仅降低了用户的视觉体验,还可能引发一定的操作不便。 #### 解决方案 ##### 方法一:借助注册表编辑来纠正图标显示异常 1. **进行注册表备份**:为了保障系统的稳定性,在开展任何注册表修改之前,必须对注册表进行备份。可以通过“导出”功能来达成备份目的。 - 启动“运行”对话框(快捷键:`Windows + R`),键入`regedit`,随后按回车键进入注册表编辑界面。 - 在注册表编辑界面中,找到菜单栏里的“文件”选项,点击后选择“导出”,依照提示完成注册表备份。 2. **移除相关注册表项**: - 在`HKEY_CLASSES_ROOT`下,删除以下四个注册表项: - `.doc` - `.docx` - `Word.Document.8` - `Word.Document.12` - 在`HKEY_LOCAL_MACHINE\SOFTWARE\Classes`下,同样移除上述四个注册表项。 3. **重新启动计算机**:执行完上述步骤后,重新启动计算机以使修改生效。 #### 方法二:通过调整文件关联来纠正图标显示异常 如果第一种方法未能解决难题,则可以尝试调整文件的关联方式,具体步骤如下: 1. **移除文件关联**: - 在`HKEY_CLASSES_ROOT`下删除`....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值