Inicial > Não categorizado, PodCast > PodCast3 – Delete Sem Where com Fabiano Amorim e Luciano Moreira (aka Luti) – SQLInternals e Nuvem

PodCast3 – Delete Sem Where com Fabiano Amorim e Luciano Moreira (aka Luti) – SQLInternals e Nuvem

Fala galera, eu finalmente tirei do papel meu plano de começar um PodCast sobre banco de dados…

Logo

Segue o tereciro episódio que tive como convidado meu amigo Luciano Moreira, nesse Cast Conversamos bastante sobre SQL Internals, Nuvem e outras coisas…

Nesse episódio eu também falei sobre um case interessante sobre análise de uso de índices em um ambiente que trabalhei recentemente em um cliente…

Link para o vídeo no Youtube:

Espero que vocês gostem…

O script que usei foi o seguinte:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
GO

SELECT TOP 100
s.plan_id,
q.query_id,
t.query_sql_text AS QueryText,
OBJECT_NAME(q.object_id) AS parent_object,
SUM(s.count_executions) AS CountExecutions,
CONVERT(DECIMAL(18,2),AVG(s.avg_logical_io_reads)) AS AvgLogicalReads,
CONVERT(DECIMAL(18,2),AVG(s.avg_physical_io_reads)) AS AvgPhysicalReads,
CONVERT(DECIMAL(18,2),AVG(s.avg_cpu_time)) AS AvgCpuTime,
CONVERT(DECIMAL(18,2),AVG(s.avg_duration)) AS AvgDuration
FROM sys.query_store_query_text t
JOIN sys.query_store_query q
ON t.query_text_id = q.query_text_id
JOIN sys.query_store_plan p
ON q.query_id = p.query_id
JOIN sys.query_store_runtime_stats s
ON p.plan_id = s.plan_id
WHERE t.query_sql_text LIKE N’%FM_Schedule%’
GROUP BY s.plan_id,
q.query_id,
t.query_sql_text,
OBJECT_NAME(q.object_id)
ORDER BY CountExecutions DESC
GO

— Find Plan(s) Associated with a Query
SELECT t.query_sql_text, q.query_id, p.plan_id, object_name(q.object_id) AS parent_object,
CONVERT(XML, p.query_plan) AS qPlan
FROM sys.query_store_query_text t JOIN sys.query_store_query q
ON t.query_text_id = q.query_text_id
JOIN sys.query_store_plan p ON q.query_id = p.query_id
WHERE q.query_id = 4305750
— OR t.query_sql_text LIKE N’%SELECT c1, c2 FROM dbo.db_store%’
— OR object_name(q.object_id) = ‘proc_1’

Abs.

Fabiano Amorim

Anúncios
Categorias:Não categorizado, PodCast Tags:
  1. Jorge Tavares
    9 de agosto de 2019 às 16:08

    cara ultimamente uso essa query para me ajudar
    use master;

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

    SELECT TOP 20
    CAST(qs.total_elapsed_time / 100000.0 AS DECIMAL (28, 2)) AS [Total Duration (s)]
    , qs.execution_count
    , CAST(qs.total_elapsed_time / 100000.0 AS DECIMAL (28, 2)) / qs.execution_count as average
    , SUBSTRING (qt.text, (qs.statement_start_offset/2) + 1
    , ((CASE WHEN qs.statement_end_offset = -1
    THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
    ELSE
    qs.statement_end_offset
    END – qs.statement_start_offset)/2) + 1)
    AS [Individual Query]
    , qt.text AS [Parent Query]
    , DB_NAME(qt.dbid) AS DatabaseName
    , 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 qs.execution_count > 100
    ORDER BY average desc, total_elapsed_time DESC, qs.execution_count desc

  2. Wanderson Silva
    9 de agosto de 2019 às 23:57

    Muito bom!

  3. Juliano
    12 de setembro de 2019 às 18:50

    Excelentes podcasts ou videocast Fabiano…aguardando o proximo kkk
    Gostaria de sugerir para acrescentar os podcasts no “google podcasts”…

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: