标签:语句 qs SQL Server sql sid select
之前在练习SQL查询的时候,对于同一个需求可以通过不同的sql语句得到想要的数据。所以想知道不同的sql语句的查询效率,就有了下面的内容。
例如:-- 16、查询出只选修了2门课程的全部学生的学号和姓名
select sid,sname from student where sid in
(select sid from sc group by sid having count(*) =2)
select 学号=sid,姓名=sname from student st where
(select count(*) from (select distinct cid from sc where sid=st.sid) as temp) =2
在SQL Server中可以通过SQL语句来查询执行过的语句的执行效率,代码如下:
select top 1000
st.text as '执行的sql语句',
qs.execution_count as '执行的次数',
qs.total_elapsed_time as '耗时',
qs.total_logical_reads as '逻辑读取次数',
qs.total_logical_writes as '逻辑写入次数',
qs.total_physical_reads as '物理读取次数',
qs.creation_time as '执行时间',
qs.creation_time as '语句编译时间'
from sys.dm_exec_query_stats qs CROSS APPLY
sys.dm_exec_sql_text(qs.sql_handle) st
order by qs.creation_time desc
查询结果:
附:如果执行的sql语句过多,不方便找到要检查的SQL语句。可以在SQL Server中清理一下缓存。
清理缓存的语句:dbcc freeProcCache
标签:语句,qs,SQL,Server,sql,sid,select 来源: https://www.cnblogs.com/tanyongjun/p/15589793.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。