之前在練習sql查詢的時候,對於同乙個需求可以通過不同的sql語句得到想要的資料。所以想知道不同的sql語句的查詢效率,就有了下面的內容。
例如:-- 16、查詢出只選修了2門課程的全部學生的學號和姓名
select sid,sname from student where sid in
(select sid from sc group by sid h**ing 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 '語句編譯時間'
sys.dm_exec_sql_text(qs.sql_handle) st
order by qs.creation_time desc
查詢結果:
附:如果執行的sql語句過多,不方便找到要檢查的sql語句。可以在sql server中清理一下快取。
清理快取的語句:dbcc freeproccache
sqlserver中動態sql語句應用
所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...
SQL語句 SQL Server中Text型別操作
基本方法 updatetext with log inserted data 新插入的資料可以是單個inserted data 常量 表名 列名或文字指標。update 操作 updatetext 引數 替換現有資料 指定乙個非空 insert offset 值 非零 delete length 值...
sqlserver中動態sql語句應用
所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...