About Me

My photo
a Dynamic and Energetic guy.....
Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts

Tuesday, August 6, 2013

Get Last 20 Slowest SQL Queries

 SELECT TOP 20
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
    ((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(qt.text)
                                   ELSE qs.statement_end_offset
      END - qs.statement_start_offset)/2)+1),
    qs.execution_count,
    qs.total_logical_reads, qs.last_logical_reads,
    qs.min_logical_reads, qs.max_logical_reads,
    qs.total_elapsed_time, qs.last_elapsed_time,
    qs.min_elapsed_time, qs.max_elapsed_time,
    qs.last_execution_time,
    qp.query_plan
FROM
    sys.dm_exec_query_stats qs
CROSS APPLY
    sys.dm_exec_sql_text(qs.sql_handle) qt
CROSS APPLY
    sys.dm_exec_query_plan(qs.plan_handle) qp
WHERE
    qt.encrypted = 0
ORDER BY
    qs.total_logical_reads DESC


Tuesday, February 2, 2010

String Split in SQL

Declare @checkedItems varchar(20)

SET @checkedItems ='N,L,D,E'

Declare
@ParsedList table
(
OrderID varchar
)

DECLARE @OrderID varchar(10), @Pos int

SET @checkedItems = LTRIM(RTRIM(@checkedItems))+ ','
SET @Pos = CHARINDEX(',', @checkedItems, 1)

IF REPLACE(@checkedItems, ',', '') <> ''
BEGIN
WHILE @Pos > 0
BEGIN
SET @OrderID = LTRIM(RTRIM(LEFT(@checkedItems, @Pos - 1)))
IF @OrderID <> ''
BEGIN
INSERT INTO @ParsedList (OrderID)
VALUES (CAST(@OrderID AS varchar)) --Use Appropriate conversion
END
SET @checkedItems = RIGHT(@checkedItems, LEN(@checkedItems) - @Pos)
SET @Pos = CHARINDEX(',', @checkedItems, 1)

END
END

select * from @ParsedList

====================================
OUTPUT
====================================
OrderID
N
L
D
E

My Masters