RSS

Monthly Archives: June 2012

SQL Server – Find missing and unused indexes

Following one line query will give you all the details about missing and unused indexes:

SELECT * FROM sys.dm_db_missing_index_details

Happy programming.

 
1 Comment

Posted by on June 30, 2012 in SQL SERVER

 

Tags: , , , ,

sql server – How to find slowest queries

Following query is very useful to find the most slowest queries running on your sql server:

SELECT TOP 50
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),
qp.query_plan,
qs.execution_count,
(qs.total_logical_reads + qs.total_logical_writes) / qs.execution_count as [Avg IO],
qs.total_logical_reads, qs.last_logical_reads,
qs.total_logical_writes, qs.last_logical_writes,
qs.total_worker_time,
qs.last_worker_time,
qs.total_elapsed_time/1000 total_elapsed_time_in_ms,
qs.last_elapsed_time/1000 last_elapsed_time_in_ms,
qs.last_execution_time

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
ORDER BY
[Avg IO] DESC

That is it. You will get the slowest queries along with exicution plan details and missing indexes details.

Enjoy programming.

 
Leave a comment

Posted by on June 30, 2012 in SQL SERVER

 

Tags: , , , , ,