Nombre d'exécutions uniques
Quote from Jo on December 9, 2019, 17 h 49 minDans [Live Query Profiler]
J'aurais besoin d'un code qui détermine le nombre d'exécution unique d'une fonction table.
J'ai une fonction table qui appelle un nombre variable de sous-requêtes.
La colonne [Execution Count] me permet de compter combien elle a fait de lectures au total, mais pas combien j'ai d'appel unique de cette fonction.Que pensez-vous d'intégrer une requête de ce type ? Le principe est de compter le nombre d'exécution de la première requête de la fonction table.
Colonne [Nb Execution Unique]SELECT COALESCE(qt.dbid, 0) AS [Database ID]
, COALESCE(DB_NAME(qt.dbid), 'NC.') AS [Database Name]
, qt.text AS [Query]
, SUM(qs.total_worker_time) AS [Cpu]
, SUM(qs.total_elapsed_time) AS [Elapsed Time]
, SUM(qs.execution_count) AS [Execution Count]
, MIN(qs.execution_count) AS [Nb Execution Unique]
, SUM(qs.total_logical_reads) AS [Logical Reads]
, SUM(qs.total_physical_reads) AS [Physical Reads]
, SUM(qs.total_logical_writes) AS [Logical Writes]
FROM sys.dm_exec_query_stats qs
LEFT JOIN (
SELECT qs.sql_handle, MIN(statement_start_offset) min_statement_start_offset
FROM sys.dm_exec_query_stats qs
GROUP BY qs.sql_handle
) AS qs_min ON qs.sql_handle = qs_min.sql_handle
INNER JOIN sys.dm_exec_query_stats qs_unique ON qs_min.sql_handle = qs_unique.sql_handle AND qs_min.min_statement_start_offset = qs_unique.statement_start_offset
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE (qt.dbid != 32767 OR qt.dbid IS NULL)
AND COALESCE(DB_NAME(qt.dbid), 'NC.') = DB_NAME()
GROUP BY qt.dbid
, qt.text
Dans [Live Query Profiler]
J'aurais besoin d'un code qui détermine le nombre d'exécution unique d'une fonction table.
J'ai une fonction table qui appelle un nombre variable de sous-requêtes.
La colonne [Execution Count] me permet de compter combien elle a fait de lectures au total, mais pas combien j'ai d'appel unique de cette fonction.
Que pensez-vous d'intégrer une requête de ce type ? Le principe est de compter le nombre d'exécution de la première requête de la fonction table.
Colonne [Nb Execution Unique]
SELECT COALESCE(qt.dbid, 0) AS [Database ID]
, COALESCE(DB_NAME(qt.dbid), 'NC.') AS [Database Name]
, qt.text AS [Query]
, SUM(qs.total_worker_time) AS [Cpu]
, SUM(qs.total_elapsed_time) AS [Elapsed Time]
, SUM(qs.execution_count) AS [Execution Count]
, MIN(qs.execution_count) AS [Nb Execution Unique]
, SUM(qs.total_logical_reads) AS [Logical Reads]
, SUM(qs.total_physical_reads) AS [Physical Reads]
, SUM(qs.total_logical_writes) AS [Logical Writes]
FROM sys.dm_exec_query_stats qs
LEFT JOIN (
SELECT qs.sql_handle, MIN(statement_start_offset) min_statement_start_offset
FROM sys.dm_exec_query_stats qs
GROUP BY qs.sql_handle
) AS qs_min ON qs.sql_handle = qs_min.sql_handle
INNER JOIN sys.dm_exec_query_stats qs_unique ON qs_min.sql_handle = qs_unique.sql_handle AND qs_min.min_statement_start_offset = qs_unique.statement_start_offset
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE (qt.dbid != 32767 OR qt.dbid IS NULL)
AND COALESCE(DB_NAME(qt.dbid), 'NC.') = DB_NAME()
GROUP BY qt.dbid
, qt.text
Quote from Gregory Boge on December 11, 2019, 14 h 27 minBonjour Jo,
Merci pour cette idée. C'est vraiment du très spécifique et je ne sais pas si ce sera beaucoup utilisé par les autres utilisateurs, mais ca ne devrait pas couter grand chose à intégrer.
Soit tu peux faire la modification de la requete directement dans KMO (https://github.com/KankuruSQL/KMO) et je l'integrerai à la future version de Kankuru, soit je m'occuperai de ça très bientôt.
Bonjour Jo,
Merci pour cette idée. C'est vraiment du très spécifique et je ne sais pas si ce sera beaucoup utilisé par les autres utilisateurs, mais ca ne devrait pas couter grand chose à intégrer.
Soit tu peux faire la modification de la requete directement dans KMO (https://github.com/KankuruSQL/KMO) et je l'integrerai à la future version de Kankuru, soit je m'occuperai de ça très bientôt.
Quote from Jo on December 11, 2019, 17 h 47 minMerci pour la réponse.
Je ne suis pas familier avec l'environnement de dév, je préfère te laisser opérer.
Merci d'avoir pris en compte, en tous cas.
Merci pour la réponse.
Je ne suis pas familier avec l'environnement de dév, je préfère te laisser opérer.
Merci d'avoir pris en compte, en tous cas.
Quote from Gregory Boge on December 21, 2019, 20 h 22 minJe viens de pousser ce commit https://github.com/KankuruSQL/KMO/commit/7a3a73961dced29af296bc3cf55e269a268b0510 , je vais l'intégrer à la prochaine version.
Je viens de pousser ce commit https://github.com/KankuruSQL/KMO/commit/7a3a73961dced29af296bc3cf55e269a268b0510 , je vais l'intégrer à la prochaine version.