Índices para Iniciantes

Slides:



Advertisements
Apresentações semelhantes
Operadores Especiais da SQL
Advertisements

Daniel Paulo Introdução Informações de uma tabela ou view podem ser encontradas de maneira mais rápida através da utilização.
BANCO DE DADOS BASE DE DADOS – É UMA COLEÇÃO DE DADOS INTER- RELACIONADOS, REPRESENTANDO INFORMAÇÕES SOBRE UM DOMÍNIO ESPECÍFICO. EX.: LISTA TELEFONICA,
SQL Saturday #512 - Rio Passo a Passo para realizar uma Consultoria de Tuning em um Cliente Fabrício Lima | FabricioLima Soluções em BD Site:
SQL Saturday #512 Boas Vindas O dia a dia de um Administrador de banco de dados. Thiago Cruz.
1 MEI, ARMD 2003, Gabriel David Armazéns de Dados Suporte à interrogação de AD Gabriel David
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 18.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
Professor: Engº Fernando Miranda Bem-vindos Sites Dinâmicos c/ Base de Dados.
Concurso de Criação de Imagem para o Site da Escola Contactos: Jorge Machado Pedro Matos Pedro Ranheta
Acessos e Privilégios. Privilégios  O gerenciamento de usuários e seus respectivos privilégios aos objetos do banco de dados, dependendo do número de.
Passo a Passo para realizar uma Consultoria de Tuning em um Cliente Fabrício Lima | FabricioLima Soluções em BD Site: SQL.
Encontro SQL BH May 2016 Desmistificando Índices com SQL Server.
Supervisão e Redes Industriais Tutorial E3 Elipse Capítulo 14 ARMAZENAMENTO DE DADOS Felipe Domeni, Gabriel Martin, Leandro Gomes Rafael Benoliel, Tiago.
Novidades no SQL Server 2016 para AlwaysOn Availabilty Groups
Monitorando o SQL SERVER e o Oracle
Backup, isso salva a sua empresa e o seu emprego!!!
Planejamento de Carreira e Sucesso Profissional
Criando Custom Visuals no Power BI
Qual é o melhor regime para sua empresa?
SQL Saturday #573 – Brasília 2016
OS plágios e as coincidências na propaganda.
Gustavo Moura Fé Maia SQL Server vNext.
Índices para Iniciantes
Monitorando os Recursos e Proscessos do Servidor, através do Power BI
Escreva aqui o título e o subtítulo do seu TCC
/07/ Memórias RAM Memória ROM Memoria Cache Interfaces
Azure CosmosDB: Globally distributed, multi-model database service
Sulamita Dantas Query Store #BHs2SQLServer.
Diretoria de Serviço – Área Administrativa Etec Gustavo Teixeira
Monitorando os Recursos e Proscessos do Servidor, através do Power BI
Armazenamento de dados históricos no SQL Server 2016
O que é um banco de dados? Antes precisamos entender o que são dados.
Ligação do banco de dados com a página
Super ETL’s com as novidades do SSIS 2016
Técnicas para Apresentação do Vídeo Pitch
4º Encontro do Grupo SQL Server ES
Arquitetura de Computadores
Monitorando SQL SERVER e Oracle
BANCO DE DADOS Araújo Lima Out / 2017 Araújo.
Índices para Iniciantes
Tema do Seminário: Frameworks para desenvolvimento Web Linguagem e Técnicas de Programação II – LTP2 Professor: Uedson Reis.
BANCO DE DADOS Araújo Lima Outubro / 2017 Araújo.
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
Ismael Lazzaretti Michel Lopes Mariana Fleck
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
Perfil PROPONENTE – diretor (a)
SISTEMA DE CONTROLE DE METAS
Índices para Iniciantes
QUADRO DE VALORES RECEBIDOS
Testes A B António Castro -
Organização básica de arquivos
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
Aplicativo EBSCO eBooks Autenticação
ATENÇÃO: Esse manual foi desenvolvido com o objetivo de apresentar de forma resumida os principais recursos utilizados pelos usuários.
EBSCOhost Básico.
Quer ser um excelente DBA?
INSTITUTO DE PESQUISAS ENERGÉTICAS E NUCLEARES IPEN–CNEN/SP
Treinamento SQL Server Tarefas do dia a dia de um DBA
Informações do preenchimento de cada lacuna do termo de referência
A elaboração e implementação dos REA para a BVS-EPS, como um programa educativo, para gestão, mediação, uso e acessibilidade das informações em saúde Autores:
Prática - BD Distribuído
Event Hubs + Stream Analytics + Power BI
Backup Database On – Premisses no Azure
SISTEMAS DISTRIBUIDOS
SISTEMAS DISTRIBUIDOS
Dicas para um bom PITCH Deu Certo
Dicas para um bom PITCH Deu Certo Cultura da Inovação Brasil
Migração de Dados com Azure Data Factory Orlando Gomes BI Microsoft Student Partner (MSP) linkedin.com/in/orlandomariano.
Transcrição da apresentação:

Índices para Iniciantes Fabrício Lima MVP Data Platform Índices para Iniciantes

Patrocinadores Observação – Citar que o evento é gratuito e que os patrocinadores são os responsáveis por garantir o welcome kit, a infraestrutura básica do evento e os brindes. Em contrapartida eles desejam mostrar seus produtos e serviços. É bacana que vocês (público) conheçam eles e aceitem receber mailing.

Fabrício Lima Vitória-ES 11 anos de SQL Server CEO Fabricio Lima Soluções em BD Pass Chapter Leader do SQL Server ES Palestrante em eventos (8º SQLSAT) Blog sobre SQL Server MVP Data Platform

Índices no SQL Server Tarefas do dia a dia de um DBA Índices são estruturas em disco organizadas em estrutura de árvore para facilitar nossas buscas. Tarefas do dia a dia de um DBA Leitura Complementar: https://www.simple-talk.com/sql/learn-sql-server/sql-server-index-basics/ http://www.sql-server-performance.com/2007/clustered-indexes/ http://www.mssqltips.com/sqlservertip/1206/understanding-sql-server-indexing/ http://www.mssqltips.com/sql-server-tip-category/38/indexing/ http://blogs.msdn.com/b/timchapman/archive/2012/09/28/index-rebuild-vs-reorganize-the-transaction-log-edition.aspx Livro: http://www.amazon.com/Expert-Performance-Indexing-Server-2012/dp/1430237414

Heap, Clustered e Nonclustered Heap – Tabela sem um índice clustered. Índice Clustered – É a própria tabela armazenada de forma estruturada/ordenada pela chave que você definiu na criação do índice O nível folha contém todas as colunas da tabela Só pode ter um por tabela Índice Nonclustered – É uma estrutura independente formada pelas colunas do índice nonclustered e possui um RID/ClusterKey para acessar a tabela (Heap ou Cluster) Não contém todos os dados da tabela Podemos ter mais de um por tabela (até 999 se tiver coragem) Tarefas do dia a dia de um DBA Leitura Complementar: http://www.fabriciolima.net/blog/2010/11/30/casos-do-dia-a-dia-exclusao-de-um-indice-grande-e-pouco-utilizado/

Índice Cluster Cenário: TABELA com 3 colunas: LastName (clustered) Name (Nonclustered) Dt_Nascimento Consulta 1: Select Lastname from TABELA where Lastname = 'Domingues’ Consulta 2: Select * where Lastname = 'Domingues' 10/05/2000 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1989 10/05/2000 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1989 10/05/2000 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1989 10/05/2000 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1989 Vídeo em inglês muito bom para entendimento do funcionamento dos índices: https://www.youtube.com/watch?v=p9FlnOPltA8

Índice Não-Cluster Cenário: TABELA com 3 colunas: LastName (clustered) Name (Nonclustered) Dt_Nascimento Consulta 1: Select Lastname, Name from TABELA where Name = 'Anabela' Consulta 2: Select * Consulta 3: where Dt_Nascimento = '20150421' 10/05/2010 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1979 10/05/2000 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1969 10/05/2008 18/06/1981 10/05/2002 14/08/1985 21/04/2015 16/06/1982 10/05/2005 14/09/1959 10/05/2001 18/06/1981 10/05/2002 14/08/1985 10/05/2008 16/06/1982 10/05/2005 14/09/1979

DEMO (a gosto do freguês)

Criação de índices “Quando você cria um índice que melhora uma query de 10 minutos para 1 minuto ou de 1 minuto para 1 segundo.” Reação DBA Reação Usuário

Criação de índices “Quando o cliente diz que já otimizou o banco com a criação de alguns índices.”

Include, FillFactor e PageSplit INCLUDE: Inclui as colunas apenas no Leaf Level do índice, deixando os outros níveis menores. É utilizado para que não seja necessário acessar o índice clustered ou heap para pegar uma coluna utilizada na query (covered index). FILLFACTOR: Especifica o percentual de preenchimento das páginas dos índices. O Default do SQL Server é criar o FILLFACTOR com o valor 0, que na verdade é igual a 100%! Page Split: Quando você faz um update/insert e uma página está cheia, outra página é criada e os registros são divididos entre elas. Leitura Complementar: http://www.fabriciolima.net/blog/2011/02/07/querys-do-dia-a-dia-como-visualizar-as-colunas-include-de-um-indice/ http://fabriciolima.net/blog/2011/02/26/qual-o-valor-ideal-para-o-fillfactor-de-um-indice/

FILLFACTOR “Quando o cliente diz que colocou o FILLFACTOR em 10% para reduzir a Fragmentação dos Índices.”

Referências Índices: PAGE Split: Livro: https://www.simple-talk.com/sql/learn-sql-server/sql-server-index-basics/ http://www.sql-server-performance.com/2007/clustered-indexes/ http://www.mssqltips.com/sqlservertip/1206/understanding-sql-server-indexing/ http://www.mssqltips.com/sql-server-tip-category/38/indexing/ http://blogs.msdn.com/b/timchapman/archive/2012/09/28/index-rebuild-vs-reorganize-the-transaction-log-edition.aspx https://www.youtube.com/watch?v=p9FlnOPltA8 http://blogs.msdn.com/b/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx http://www.sql-server-performance.com/2009/identify-missing-indexes-using-sql-server-dmvs/ http://www.mssqltips.com/sqlservertip/1634/using-sql-server-dmvs-to-identify-missing-indexes/ PAGE Split: http://www.sqlskills.com/blogs/paul/tracking-page-splits-using-the-transaction-log/ http://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/06/28/what-is-a-page-split-what-happens-why-does-it-happen-why-worry.aspx Livro: http://www.amazon.com/Expert-Performance-Indexing-Server-2012/dp/1430237414 http://www.amazon.com/Server-Query-Performance-Tuning-Experts/dp/1430242035

Dicas de Materiais Grátis Livros: http://www.microsoftvirtualacademy.com/ebooks http://www.fabriciolima.net/blog/2010/12/03/free-ebooks-sobre-sql-server-para-download/ http://www.johnsansom.com/dba-jumpstart/ http://www.red-gate.com/products/dba/dba-bundle/entrypage/2012-how-to-become-an-exceptional-dba?utm_source=simpletalk&utm_medium=weblink&utm_content=st_bradbook200907&utm_campaign=sqlbackupbundle&__hstc=81186632.bdbc59f5f888a85d2c87a85f9b4a38d9.1441479079284.1441479079284.1441479079284.1&__hssc=81186632.1.1441479079284&__hsfp=2767783758 http://www.red-gate.com/community/books/accidental-dba Vídeo Aulas: http://www.microsoftvirtualacademy.com/product-training/sql-server http://www.microsoftvirtualacademy.com/product-training/product-sql-server-pt https://technet.microsoft.com/en-us/dn912438 PodCast do DatabaseCast sobre manutenção de Banco de dados https://www.youtube.com/watch?v=Yvd9b4yRiHE&t=910s Whitepaper SQL https://technet.microsoft.com/en-us/sqlserver/bb671430 Blos que o Fabricio Lima acompanha https://www.fabriciolima.net/blog/2017/03/14/video-blogs-sobre-sql-server-que-o-fabricio-lima-acompanha/

Dúvidas?

Saiba mais em: http://sqlsaturday.com/ Próximos eventos SÃO PAULO #676 | SET 30 RIO DE JANEIRO #663 | OUT 21 SALVADOR #677 | NOV 18 Observação – Ressaltar e convidar os participantes aos próximos SQL Saturdays que acontecerão ainda neste ano no Brasil. Saiba mais em: http://sqlsaturday.com/

Obrigado! contato@fabriciolima.net fabriciolima.net @Fabriciodba www.facebook.com/pages/Fabricio-Lima-Consultoria-SQL-Server/239658476126229 br.linkedin.com/in/FabricioLimaSolucoesEmBD fabriciolima.net @Fabriciodba http://www.fabriciolima.net/blog/