Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Най-бързият начин за идентифициране на най-използваните варианти на съхранена процедура в SQL Server 2005

Това ще ви даде 50-те най-използвани процедури и изразите в процедурите от тук:Показване 50-те най-използвани съхранени процедури в SQL Server

SELECT TOP 50 * FROM(SELECT COALESCE(OBJECT_NAME(s2.objectid),'Ad-Hoc') AS ProcName,
  execution_count,s2.objectid,
    (SELECT TOP 1 SUBSTRING(s2.TEXT,statement_start_offset / 2+1 ,
      ( (CASE WHEN statement_end_offset = -1
  THEN (LEN(CONVERT(NVARCHAR(MAX),s2.TEXT)) * 2)
ELSE statement_end_offset END)- statement_start_offset) / 2+1)) AS sql_statement,
       last_execution_time
FROM sys.dm_exec_query_stats AS s1
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 ) x
WHERE sql_statement NOT like 'SELECT * FROM(SELECT coalesce(object_name(s2.objectid)%'
and OBJECTPROPERTYEX(x.objectid,'IsProcedure') = 1
and exists (SELECT 1 FROM sys.procedures s
WHERE s.is_ms_shipped = 0
and s.name = x.ProcName )
ORDER BY execution_count DESC

Посетете тази връзка, за да вземете заявката само за името на proc, но мисля, че това е по-добра заявка, тъй като ви дава също и изявленията в proc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:параметри ORDER BY в оператор IN

  2. Как да получите списък с разрешени/деактивирани ограничения за проверка в базата данни на SQL Server - SQL Server / TSQL Урок, част 86

  3. Какво прави select 1 from?

  4. Как да вмъкна 1000 произволни дати между даден диапазон?

  5. Проблем с акаунта за работа на агент на SQL Server