Arquivos

Arquivo para a categoria ‘Treinamento’

T-SQL Expert em SP aos sábados(11,18 e 25 de Maio)

15 de abril de 2013 4 comentários

Fala meu povo.

Para nossa alegria, estou fechando um treinamento de T-SQL Expert aos sábados nos dias 11, 18, 25 de Maio (exato, são apenas 3 sábados). Você pode ler mais detalhes em relação a este treinamento aqui no meu blog, ou pela ementa no site da Sr.Nimbus.

Mais detalhes:

Resumo:

http://www.srnimbus.com.br/calendario/sql11-sp-maio-2013/

  • Ementa: T-SQL Expert, SQL11 (sem o módulo sobre unit tests)
  • Carga horária: 24 horas
  • Horário das aulas: 09:00 a 18:00
  • Datas: 11, 18, 25 de Maio
  • Valor: R$ 1.500,00 em até 12 vezes via PagSeguro e R$1.400,00 a vista
  • Aluno precisa levar notebook
  • Local: Região da Paulista, local definitivo a confirmar.

Caso tenha interesse, basta utilizar o botão de reserva de vaga no link acima.

Abs.

T-SQL Expert online em Março-2013

18 de fevereiro de 2013 1 comentário

T-SQL Expert online,

Pessoal acabei de abrir uma turma para nosso treinamento de T-SQL Expert. Você pode ler mais detalhes em relação a este treinamento aqui no meu blog, ou pela ementa no site da Sr.Nimbus.

Para se inscrever no treinamento utilize o seguinte link: http://www.srnimbus.com.br/calendario/online-sql11-t-sql-expert/

Resumo:

  • Ementa: T-SQL Expert, SQL11 (módulo sobre unit tests será removido do treinamento online)
  • Carga horária: 24 horas
  • Horário das aulas entre 18:30 e 21:30 (3 horas por dia) seguindo o seguinte cronograma
  • 18, 19, 20 e 21 de março (segunda a quinta-feira)
  • 25, 26, 27 e 28 de março (segunda a quinta-feira)
  • Valor: R$ 720,00 em até 12 vezes via PagSeguro e R$680,00 a vista

Abs.

CategoriasT-SQL, Treinamento

ExecPlans OnDemand Parte III

14 de janeiro de 2013 Deixe um comentário

Pessoal, post apenas pra avisa-los que a parte III do treinamento de execution plans já está a venda e será publicada até dia 28/01/2013.

Como sempre, pra quem comprar antes o valor promocional é de R$100,00 reais.

Compre aqui.

A ementa é a seguinte:

Estatísticas

·         Estatísticas avançado parte II

o   Estatísticas correlatas e densidade

o   Atualizando estatísticas com valores falsos

o   TraceFlags – 2388, 2389, 2390, 2371 (SQL2008SP1), 9292, 9204 e 8666.

o   Identificando colunas ascendentes

o   Date correlation optimization

o   Estatísticas faltando

o   Gap nas estatísticas

o   Estatísticas em várias colunas

o   Regra diferenciada para ler um histograma

o   Tried trees para estimar strings

o   AutoCreated – Computed columns

o   Estatísticas em views

o   Estatísticas em functions

o   Impacto das estatísticas em operações de rebuild

Operadores

·         Spool

o   Table Spool – Lazzy e Eager

§  Halloween problem

§  Entendendo rebind e rewind

o   Index Spool

§  Regra diferenciada para rebind e rewind

o   RowCount Spool

o  Otimizando planos com operações de spool

o   Evitando spools em operações de insert com scalar functions

CategoriasTreinamento

Partes II, III, IV e V dos on-demand de ExecPlans

14 de dezembro de 2012 Deixe um comentário

Galera, depois da boa aceitação do publico para com os treinamentos on-demand estamos publicando novas turmas.

O Luti vai falar sobre indexação: on-demand] Indexação I – Conceitos, criação e estrutura física

O Ivan vai falar sobre T-SQL: [on-demand] Transact SQL I – Introdução e consultas básicas

Eu volto a falar sobre Execution Plans: [on-demand] Planos de execução II – Estatísticas, Seeks e Scans

Novamente estamos fazendo promoção de lançamento, quem comprar até o final do ano, paga R$100,00 reais por cada treinamento.

Aproveitando o embalo, já publiquei o conteúdo dos módulos III, IV e V do treinamento de execution plans, galera tem MUITA coisa boa, e o módulo IV ficou #sinistro Hot smile.

Ainda não temos previsão de quando eles serão lançados, mas pretendemos publicar essa informação em breve.

Se você achou interessante e quer fazer uma imersão em sua empresa, converse conosco, quem sabe não passamos alguns dias in-company e sua empresa paga tudo? Melhor impossível não? Qualquer dúvida manda um e-mail pra contato@srnimbus.com.br

Considerando todas os módulos temos as seguintes ementas:

ExecPlans parte I:

Query optimizer: como funciona e como analisar um plano de execução

Otimizando consultas analisando operadores

·         Key Lookup e RID Lookup

o   O que é?

o   Como melhorar consultas com Key Lookup utilizando clausula Include

o   Diferença entre Key Lookup e Rid Lookup

o   Cuidados com “missing indexes” (dicas do SQL Server)

o   Até quando vale a pena fazer um lookup?

o   O que é prefetch? Devo me preocupar com ele?

o   Nested Loops Optimized, o que é isso?

 

·         Melhorando consultas com o operador Sort

o   Otimizando consultas com operadores de SORT

o   Ordenação na aplicação ou no banco de dados?

o   Monitorando Sort Warnings

o   Entendendo memory grant

o   xEvent – sort_memory_grant_adjustment

o   In-Memory sort versus regular-sort

§  Single pass spill e Multiple Pass spill

o   Analisando opções para evitar sort_warnings

 

·         Melhorando consultas com operador Merge Join

o   Entendendo o algoritmo de Merge Join

o   Evitando Sort Merge Join

o   Otimizando Merge Joins em disco

o   Cenários propensos a otimização do Merge Join

ExecPlans parte II:

Query optimizer: Estatísticas

·         Introdução a estatísticas

o   Entendendo como estatísticas funcionam e sua importância

o   Lendo um histograma

·         Estatísticas avançado parte I

o   Manutenção em estatísticas

o   Auto Update, Auto Created, Auto update async e norecompute

o   Estatísticas filtradas

o   Estatísticas cross-table

o  Variáveis do tipo table versus tabelas temporárias

 

·         Operadores

o   Index scan e table scan

§  Allocation order scan

·         Nolock – Uma bomba relógio

·         Inconsistências, leitura repetida e pulando linhas

§  Index order scan

·         Inconsistências, leitura repetida e pulando linhas

·         Advanced scan (merry-go-round scanning)

·         Scan direction e paralelismo

o   Index Seek

§  Seek predicate

§  Predicate

§  Range scan

§  Quando um seek é na verdade um Scan

§  Seek é sempre melhor que scan?

§  Hints – “Ajudando” otimizador de consultas com ForceSeek

ExecPlans parte III:

Estatísticas avançado parte II

·         Estatísticas correlatas e densidade

·         Atualizando estatísticas com valores falsos

·         TraceFlags – 2388, 2389, 2390, 2371 (SQL2008SP1), 9292, 9204 e 8666.

·         Identificando colunas ascendentes

·         Date correlation optimization

·         Estatísticas faltando

·         Gap nas estatísticas

·         Estatísticas em várias colunas

·         Regra diferenciada para ler um histograma

·         Tried trees para estimar strings

·         AutoCreated – Computed columns

·         Estatísticas em views

·         Estatísticas em functions

·         Impacto das estatísticas em operações de rebuild

Operadores

·         Spool

o   Table Spool – Lazzy e Eager

§  Halloween problem

§  Entendendo rebind e rewind

o   Index Spool

§  Regra diferenciada para rebind e rewind

o   Otimizando planos com operações de spool

o   RowCount Spool

o   Evitando spools em operações de insert com scalar functions

ExecPlans parte IV:

Detalhando o processo de otimização de uma consulta

·         Parse

·         Bind

·         Query tree

·         Constant folding

·         Expand view

·         Auto parameterization

·         Pre-otimization

o   NNF convert

o   Project remove

o   Simplify

§  Constraint

§  Remove redundant

§  Unnest

o   Join collapse

o   Derive cardinality

o   Heuristic join order

o   Project nomalization

·         Full otimization

o   Trivial plan

o   Search 0

o   Search 1

o   Search 2

·         Transformation stats (rules)

·         Entendendo conceitos importantes

o   Seletividade

o   Densidade

o   Cardinalidade

o   Magic Density/Guess

o   Foldable expressions

o   SARGs

o   Simplifications

§  Eliminando joins (FKs)

§  Detectando contradição (Check constraints)

§  Índices únicos (eliminando Asserts)

o   NonUpdating updates

·         Comandos avançados

o   DBCC OPTIMIZER_WHATIF

o   Rules (DBCC RULEON/OFF, QueryRuleOff)

o   Índices hipotéticos (DBCC AUTOPILOT, SET AUTOPILOT)

o   Discos SSDs VS peso do custo de IO/CPU (DBCC SETIOWEIGHT, SETCPUWEIGHT)

o xEvent – inaccurate_cardinality_estimate

Operadores

·         Loop join

·         Merge join (coberto no módulo I)

·         Hash joins

·         Hints – “ajudando” otimizador com force order

o   Criando bushy plans

·         Hints – “ajudando” otimizador forçando um algoritmo de join

ExecPlans parte V:

Aprendendo mais com analise de bugs e ”gaps na funcionalidade” do Otimizador de consultas

·         IS NOT NULL

·         Comando Merge

·         Expression in queries

·         Operador de Filter

·         Produto cartesiano

·         Stream Aggregate

·         Filter vs Aggregation

·         CTE e colunas duplicadas

Operadores

·         Merge interval

·         Assert

·         Compute Scalar

·         Concatenation

·         Split, Sort e Collapse

Quebrando mitos

        COUNT(1) versus COUNT(*)

        JOIN versus EXISTS

        DISTINCT versus GROUP BY

        SET versus SELECT

        TOP 1 ORDER BY DESC versus MAX

        UNION versus UNION ALL

        NOT IN versus NOT EXISTS

        CURSOR versus WHILE

        Ordem das tabelas no JOIN

Demonstração – Execplans on demand

26 de novembro de 2012 Deixe um comentário

Treinamento on-demand de planos de execução e otimização no SQL Server.

Galera depois de váras semanas trabalhando na produção do nosso treinamento on-demand, estou MUITO feliz com o resultado… o treinamento está no ar e gravei um total de 5 horas 51 minutos 34 segundos de vídeos falando sobre otimização no SQL Server.

Eu editei um “teaser“ com 10 mins de “melhores momentos” do treinamento… tem bastante coisa legal. Eu tenho certeza de que qualquer geek ficará muito feliz em ver o que acontece por dentro de um HD ao rodar uma consulta no SQL Server Just kidding … pois é, eu abri um só pra te mostrar isso!

Abaixo você pode conferir o vídeo:

Demonstração do treinamento OnDemand – ExecPlans Parte I from Sr. Nimbus on Vimeo.

 

O Luciano também divulgou um teaser com o treinamento de Transaction Log… terminar o video com WinDbg foi pra fechar com chave de ouro Hot smile SENSACIONAL!

Veja o video dele aqui:

Sr. Nimbus Demonstração do treinamento OnDemand – Transaction Log from Sr. Nimbus on Vimeo.

Se interessou? Basta comprar o acesso ao treinamento, esperar receber o acesso aos vídeos e ser feliz Sarcastic smile. É sério, R$150,00 reais por isso, tá muito barato…

Desconto treinamento “de graça” termina amanhã (31-10)–Corre!

30 de outubro de 2012 3 comentários

Galera, um lembrete… na boa, não é porque trabalho na Sr.Nimbus que estou falando isso não… mas se liga, porque o descontão pra comprar o treinamento on-demand da Sr.Nimbus quase de graça só vai até amanhã… depois do dia 31-10 o valor sobe de R$30,00 para R$150,00.

Mais informações aqui no meu blog mesmo:

http://blogfabiano.com/2012/10/18/treinamentos-on-demand-da-sr-nimbus-quase-de-graa/

Se você ainda não comprou, voa que ainda da tempo…

Abs.

Fabiano Amorim

CategoriasSr.Nimbus, Treinamento

Treinamentos On-Demand da Sr.Nimbus, quase de graça…

18 de outubro de 2012 8 comentários
Update*:
Aaa eu não poderia esquecer de mencionar que esse treinametno de planos de execução é só a parte 1 Smile … ou seja, vem MUITA coisa por ai.
Galera noticia quente…
Nós na Sr.Nimbus estamos oferecendo treinamentos on-demand de SQL Server. A ideia é uma exploração profunda de um assunto, somada à facilidade de realizar o treinamento remotamente, no horário e no ritmo que for melhor para você. Nossos dois primeiros on-demand são Transaction Log Internals e Planos de Execução no SQL Server, e como promoção de lançamento, os treinamentos adquiridos até 31/10 saem por **20%** do valor, é sério tá praticamente de graça.
            Clique no link abaixo para mais informações:
http://www.srnimbus.com.br/treinamentos-on-demand-na-sr-nimbus/

Eu estou gravando o treinamento de planos de execução, a ementa é a seguinte:

Query optimizer: como funciona e como analisar um plano de execução

Este treinamento apresenta ao profissional que utiliza o SQL Server a análise de planos de execução com foco em otimização de consultas T-SQL. Entenda como um plano de execução funciona, como ele é criado, e como influenciar o plano é a chave para otimização de códigos T-SQL. O treinamento é o início de uma série de módulos que irão apresentar a fundo como ler e influenciar um plano de execução.

Após uma apresentação relacionada ao otimizador de consultas, iremos explorar como os planos são executados analisando os operadores dos planos e todas as suas características, sempre trabalhando com ênfase em performance.

Se você quer mergulhar no mundo do otimizador de consultas, este é o lugar certo! Espere exemplos deep dive, e horas de diversão cheias de comandos avançados e não documentados.

Otimizando consultas analisando operadores

·         Key Lookup e RID Lookup

o   O que é?

o   Como melhorar consultas com Key Lookup utilizando clausula Include

o   Diferença entre Key Lookup e Rid Lookup

o   Cuidados com “missing indexes” (dicas do SQL Server)

o   Até quando vale a pena fazer um lookup?

o   O que é prefetch? Devo me preocupar com ele?

o   Nested Loops Optimized, o que é isso?

 

·         Melhorando consultas com o operador Sort

o   Otimizando consultas com operadores de SORT

o   Ordenação na aplicação ou no banco de dados?

o   Monitorando Sort Warnings

o   Entendendo memory grant

o   xEvent – sort_memory_grant_adjustment

o   In-Memory sort versus regular-sort

§  Single pass spill e Multiple Pass spill

o   Analisando opções para evitar sort_warnings

 

·         Melhorando consultas com operador Merge Join

o   Entendendo o algoritmo de Merge Join

o   Evitando Sort Merge Join

o   Otimizando Merge Joins em disco

o   Cenários propensos a otimização do Merge Join

CategoriasSr.Nimbus, Treinamento

WebCast Sr.Nimbus–DBA CheckList dia 21/06/2012

1 de junho de 2012 11 comentários

Ok, já sei, demorei, desculpa. Graças a Deus as coisas na Sr.Nimbus estão indo MUITO bem, o que nos fez atrasar um pouco em relação a nossa prometida, esperada e votada webcast.

Para quem não sabe do que estou falando, segue o link do post que falei sobre a WebCast da Sr.Nimbus.

O resultado da enquete foi bem interessante, e me mostrou que sim, tem gente que realmente lê o que eu escrevo neste blog Smile. Segue abaixo o resultado:

clip_image001

Como vocês podem ver, e para minha surpresa a WebCast sobre DBA CheckList foi a grande campeã com 39% dos votos, seguido do tema relacionado a T-SQL Avançado com 24%. Digo que fiquei surpreso porque sempre achei que o público do meu blog era maior por parte dos desenvolvedores e não de DBAs…

Bom, vamos a boa notícia. A boa notícia é que a WebCast já tem data, e será na quinta-feira dia 21/06, segue um resumo abaixo:

    • Tema: DBA CheckList o que analisar?
    • Apresentadores: Fabiano Amorim e Luciano Caixeta Moreira (blog|twitter) (a.k.a. Luti)
    • Moderação: Um quando o outro estiver apresentando, e outro quando o um estiver apresentando. (e vice e versa)
    • Data: Quinta-feira dia 21/06/2012
    • Horário: Das 19:30 as 21:30
    • Onde: Online
    • Link para inscrição: http://tinyurl.com/WebCastSrNimbus

 

Caso qualquer problema ocorra antes/durante a apresentação, iremos atualizar este blogpost como mais detalhes.

Treinamentos SQL07 (QueryPlans) e SQL11 (T-SQLExpert) em SP

31 de maio de 2012 2 comentários

Galera, depois de muitos pedidos estamos abrindo turmas para horários noturno e diurno dos treinamentos de SQL Server da Sr.Nimbus…

Mais detalhes no site da Sr.Nimbus http://intranet.srnimbus.com.br/paginas/default.aspx

Qq coisa sabem onde me achar…

Abs.

CategoriasTreinamento

Treinamento – TSQL Expert dia 17 de Abril em SP

14 de março de 2012 4 comentários

Essa foi a reação do Chuck Norris ao ler a ementa desse treinamento!

image

Galera, dia 17 de Abril, irei ministrar um treinamento de T-SQL, é um novo treinamento que criamos na SrNimbus chamado T-SQLExpert, a ideia é que assuntos complexos e problemáticos no que diz respeito a performance sejam cobertos com vários exemplos e cases do dia a dia.

A ementa do treinamento ficou sensacional, eu confesso que eu mesmo ficaria doido para fazer um treinamento desses Smile.

http://intranet.srnimbus.com.br/treinamento/paginas/curso.aspx?COD=SQL11

Esse é um treinamento de T-SQL, se você gosta, te prometo que veremos MUITO desse tal de SQL durante o treinamento. PPTs de 40 slides? Nãaaaaaaaao! Vamos para prática!

Segue abaixo alguns comentários sobre cada módulo.

Módulo 01: Query Tuning
Neste módulo queremos tratar sobre metodologia para analise e performance de consultas, onde olhar? Como olhar? O que importa? Que ferramentas podem me ajudar? Tá bom ou tá ruim? Como simular 100 usuários rodando essa consulta? Debug ajuda?

Essas são algumas perguntas que quero responder neste módulo…

Módulo 02: Functions

Functions são comumente utilizadas, ainda que nem sempre com boa performance, elas tem suas vantagens e desvantagens. Quero mostrar neste modulo onde a coisa começa a ficar ruim, muito ruim e extremamente ruim?… Estatísticas em functions?… View ou function? Formatação no banco ou na app? Conheça as ciladas e cuidados…

Function é uma coisa boa apenas quando usada corretamente, aprenda como fazer isso.

Módulo 03: Views

Views indexada é uma das minhas opções prediletas em relação a tuning, eu normalmente digo que elas podem salvar o seu dia. Entenda neste módulo como usar, quando usar, e como contornar limitações das views indexadas.

Como analisar o impacto das views indexadas?

Date correlation optimization também será analisado neste módulo, que tal copiar a lógica do date correlation e usar no meu ambiente?….

Módulo 04: Objetos temporários, CTEs e TVP

Tabelas temporárias, CTEs, variáveis do tipo table, Table valued parameters… Esses são alguns itens que iremos analisar com detalhe.

Uma CTE por si só é melhor que uma subquery? Fazer “pre filtros” em uma CTE é uma boa técnica? E a recursividade, como uso? CTE + FOR XML?

E aqui, uso variável do tipo table ou tabela temporária? Qual a diferença entre esses objetos?

Módulo 05: Cursores e Funções de Ranking (windowing functions)

Aaaa nesse módulo eu vou me esbaldar… Smile

Windows function é tudo aquilo que você sempre precisou, mas não sabia que precisava. Neste módulo irei explicar como elas funcionam e todos os detalhes em relação ao processamento interno e controle do frame de uma window.

Modulo 06: Triggers

Triggers são do capeta! Você já ouviu isso? Eu já, e concordo!

Agora, a pergunta é: Elas são sempre ruim?

Quando posso usar? Quais os prós e contras em relação ao uso de triggers, como otimizar o uso de triggers?

Modulo 07: TOP e CROSS APPLY

TOP e Apply? Sério um módulo inteiro só para isso?

Pois é se você não sabe porque incluí um modulo só para falar sobre isso, definitivamente você precisa ver esse módulo.
Muitas vezes, consultas complexas podem se resolvidas de forma bem simples utilizando estes comandos.

Módulo 08: Modificação de dados avançada

Sério, acho que dava para fazer um treinamento só sobre isso… Como importar os dados de forma mais rápida possível?

Como excluir uma grande massa de dados sem acabar com o servidor? Como fazer expurgo de dados? Como fazer um insert e um delete com apenas um comando? Como alterar o valor de uma coluna identity? Quem é melhor, MERGE ou UPDATE/INSERT/DELETE ? …

Módulo 09: Boas práticas e quebrando mitos

Quero acabar com todas suas dúvidas… por favor, me pergunte!

Além de acabar com os mitos, quero perder um tempo falando sobre alguns problemas comuns e mostrar soluções espetaculares (não tem outro nome, realmente é espetacular).

Preciso dizer algo? Leia os itens que veremos por aqui:
• Dicas avançadas de T-SQL
    o Resolvendo o problema de consultas com LIKE ‘’%%”
    o Consultando intersecções de datas – RI-Tree
    o Consultas dinâmicas
    o Muito mais…
• Quebrando mitos
    o COUNT(1) versus COUNT(*)
    o JOIN versus EXISTS
    o DISTINCT versus GROUP BY
    o SET versus SELECT
    o TOP 1 ORDER BY DESC versus MAX
    o UNION versus UNION ALL
    o NOT IN versus NOT EXISTS
    o CURSOR versus WHILE
    o Ordem das tabelas no JOIN
    o Joins – Merge vs Loop vs Hash
    o Foreign Key ou não?

Modulo10: Unit Test com T-SQL

Testes unitários é um módulo que o Luti fez eu incluir no treinamento Smile. Ele escreveu sobre isso no MVP Deep Dives 2, vai por mim, é muito mais importante do que você pensa. Já pensou ter um código para teste de TUDO o que sua equipe de desenvolvimento escreve em T-SQL? Só vai para homologação depois de passar pelos testes, aumenta qualidade, diminui custo de manutenção, bugs… Sonho? Não, longe disso, pura realidade.

Modulo11: Stored Procedures

Neste módulo quero criar polemica, e ver os alunos nervosos! Smile.

Sim, vamos criar uma proc para cada tabela? Ou melhor, 4 procs para cada tabela? Regras de negócio, vai no banco ou fica na App? Ora, usar procedures tem algum beneficio? Eu acho que não, mas também acho que sim! Ou seja, quero que você me convença da sua ideologia (Laughing out loud) em relação a isso, vamos ver os detalhes de cada um destes itens, e após conhecer tudo sobre elas, dai sim, decidiremos se damos fim a elas, ou se desejaremos vida longa as procedures!

 

O treinamento é de apenas 4 dias, mais informações aqui no site da SrNimbus http://intranet.srnimbus.com.br/paginas/noticia.aspx?ID=33 não deixe de perguntar caso tenha alguma dúvida, vocês sabem onde me achar… Winking smile

Este treinamento está tendo bastante procura, portanto não deixe pra se inscrever de última hora ok ? As vagas são limitadas.

Abs.

CategoriasEvento, T-SQL, Treinamento
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 43 outros seguidores