olá pessoal aqui o fábio barbosa treinamentos neste vídeo vamos falar sobre indexação de tabelas no mar e sql a indexação do processo de criar índices nas colunas de uma tabela e os índices são utilizados para que seja possível localizar registros com valores específicos de forma mais rápida pois os índices são utilizados para organizar os dados que estão as colunas dentro da sua tabela assim quando é preciso buscar um registro ou um conjunto de registros de uma só vez como sql vai diretamente até esse registro o conjunto em vez de barra a tabela toda procurando um
cada item por padrão uma skelly clientes automaticamente em alguns campos específicos são eles a chave primária que sempre vai ter um link associado às chaves estrangeiras que por ventura você tem na tabela e os campos que você mata uma constante e únic então esses três tipos de colunas recebem índices e não é desses clientes que se trata essa aula nessa hora a gente vai aprender criar índices extras que você pode aplicar em outras colunas da tabela pra acelerar o processo de busca de dados existem dois grandes tipos de índices disponíveis os índices customizados e os
não utilizados o índice caracterizado que também é chamado de ensino primário é justamente esse índice que é criado na chave primária automaticamente e o índice clusterizados ele altera fisicamente a ordem dos dados na tabela gravado em disco então ele realmente ordena os dados fisicamente isso é possível ter um em ciclos utilizado numa tabela porque os dados só podem ser organizados fisicamente em de uma forma já o índice não concretizar um pouco diferente ele não vai alterar a forma como os dados estão armazenados mas será criado um novo objeto objeto índice que aponta para a posição
dos dados estão discutindo assim quando é preciso fazer uma busca eu busco no íncio dado que eu quero e o índice tem o local exato no disco onde está aquela informação para retornar para consulta e com relação ao ensino apostilado posso ter vários deles na mesma tabela várias colunas diferentes podem ter índices não utilizados até mesmo combinações de colunas podem ser índices como é que a gente queria os índices do sql utilizamos a declaração cliente index para criar um numa tabela já existentes então assim táxi é bem simples create index você dá um nome presente
pra poder identificá lo também é possível utilizar a palavra opcional e únic para criar um índice que não permite repetição de dados realmente a gente utiliza só clube time que depois vem a palavra on o nome da tabela aí você abre parênteses e vem com o nome da coluna que será indexada você também pode usar as palavras a sc e de sc para indexar essa colônia ong crescente ou decrescente o padrão é crescente e se você não informar nada e se você quiser criar um índice que combine duas ou mais colunas basta colocar uma vírgula
e vi com o nome da segunda coluna amigo a terceira coluna e assim por diante no final você fecha parênteses ponto e vírgula e tem o comando para a gente criar índices uma outra forma de você adicionar o índice uma tabela já existentes e com comando o autor table e funciona da seguinte forma ao tempo específico o nome da tabela é de index específica o nome do índice e aí você vem com a lista de colunas pode ser uma ou mais colunas da mesma forma que concluir the table o ideal é que você cria os
índices durante o coletivo o que denota que a modelagem do banco foi bem feita mas se precisar acionar posteriormente é só usar o autor table além disso também é possível criar em si junto com a criação da tabela usando para isso a palavra chave index então você vem com os campos da tabela palavrinha index e dentro de parentes o nome da coluna o colante que receberam o índice nesse caso índices não cruz utilizados vamos ver alguns exemplos de criação de índices então utilizando uma esquete workbench estou aqui não é sequer o twente e vou mostrar
primeiramente o comando show index o comando show index permite visualizar os índices que existem uma tabela não quero ver por exemplo se existe algum índice na tabela de editoras do nosso banco de dados eu vou selecionar este comando o executar ele vai trazer pra mim essa informação tabela editoras que nem me primária tem uma chave primária nome da comunidade editora índex type bi tri tri é o tipo de organização do índex do índice existem vários tipos de organização possíveis o padrão usb twit que a sigla de barras tri árvore balanceada que é basicamente um algoritmo
utilizado para fazer a indexação então existe este índice aqui na tabela é o índice número 1 é o índice primário está na chave primária e esse índice está associado portanto a coluna editora que a coluna de chapa primário bom antes de criar um outro um novo índice nessa tabela a gente testar nós vamos utilizar esse comando explain pra que serve o comando espanha como a explay ele vai mostrar pra gente como vai ser realizado o comando que vem à frente dele no caso um select tudo pronto a bela de todas o editor igual explica então
quando executa esse comando com explay na frente em vez de simplesmente executar o select ele vai explicar como esses elétrons seria executado e não vai executar o comando para valer a ele vai trazer informações sobre a execução do comando e o comando explica muito útil portanto pra gente por exemplo aplicar otimização de performance no banco vai executar esse comando ex play select tudo da tabela editoras ele vai trazer esse resultado aqui pra gente então é um select simples que eu dei na tabela editoras tabela não dá para funcionários e um assunto avançado chaves possíveis nulo
nulo holstein a informação que a gente precisa holstein tem dez linhas que foram lidas para trazer informação a 10 linhas filtradas e o extra está usando a cláusula eu era então o filtro é com a cláusula o é não quer dizer que pra achar essa informação aqui pra achar o nome de uma editora ele teve de ler dez linhas até chegar nesse editora isso a gente vai chamar de custo da transação tão para realizar se é que existe um certo custo um custo em termos de processamento memória e tempo tomando respeitar mesmo com esse custo
é que a gente consegue diminuir esse custo sim se a gente aplicar um índice um índice nessa tabela e essa tabela tem um campo numa editora que é o que a gente buscou e é justamente nesse novo editor que eu aplicar o índice então vou selecionar esse comando acredite em links e deixe-se editora ontem br editoras numa editora para criar esse índice que eu batizei de deixe da editora pode ser o nome que você quiser vamos criar o índice criado agora eu venho de novo aqui no show índex para visualizar o índice foi realmente criado
o executar ela apareceu um novo índice aqui nome chave dele e deixe sua editora a coluna pode estar só a associado é nome editora é o tipo de lixo e também ou seja o índice funcionalmente interno de algoritmo é igual a outro índice que a tabela já tinha e agora vou mandar um ex play neste comando select o mesmo comando pra gente visualizar se alguma coisa vai mudar então vamos lá selecione o comando executo taí select simples tabela editoras possible quis olha só e achou ruins editora rosso 1 111 uma linha para achar a informação
agora em vez de ler dez linhas ele leu uma ele olhou no índice e foi direto para a linha da informação ea obteve de volta olha só filtrado sem 'extra' usando iniciem-se então a o filtro foi completo esse número indica que o filtro foi completo foi de apenas uma linha ea informação foi obtida a partir da tabela porque porque foi usado um índice leva a gente é para isso que servem os índices nos bancos de dados dica não saia criando índices em quaisquer colunas porque nem sempre vai ser proveitoso vai ser vantajoso você deve criar
índices nas coisas que são mais acessadas em termos de consulta possa acontecer a coluna muito consultada vale a pena fazer um em cinema ao ar colunas que são muito alteradas que recebem da los por exemplo de update ou de led está a ou até mesmo de sorte usando causou essas colunas nem sempre vão performar muito bem com índices porque é que o índice ele retarda um pouquinho esse tipo de operação toda vez que você ao atualiza uma aula o aluno insere um dado exclui o índice tem que ser refeito então ele demora um pouquinho mais
do que achar a posição correta em é inserir o dado deslocar os demais assim por diante então se tem muita atualização numa determinada o luna dentro de uma tabela específica talvez o índice no azul de um máscara você sempre pode testar e verificar se vai ter um ganho de performance e se não tiver não tem problema o comando do shopping e se permite que você exclui em si da coluna é só dar um golpe next específica o nome do índice a onu eo nome da tabela só isso olha só eu vou executar ele aqui beleza
agora só dá um show índex não aparece mais aquele índice que eu criei só agora o índice da chave primária da minha tabela beleza pessoal é isso aí espero que vocês tenham gostado dessa alma aproveite para se inscrever aqui no canal da bola internamente se você não foi inscrito é isso já foi inscrito clique no cinema aqui embaixo para ativar as notificações e suavizado sempre que a gente tiver conteúdo novo postado aqui no canal e não deixe de acessar o nosso website www.voegol.com.br onde você vai achar essa lição sobre índices e um monte de outras
lições sobre mais kelly sql server e outros sistemas de banco de dados obrigado e até a próxima