Тёмный

O Poder dos Covering Indexes: Otimizando Consultas em Bancos Relacionais | Dias de Dev 

Dias de Dev
Подписаться 33 тыс.
Просмотров 6 тыс.
50% 1

Descubra como impulsionar o desempenho do seu banco de dados! Nesse vídeo nós vamos mergulhar no universo dos Covering Indexes e como eles podem revolucionar a eficiência das suas consultas SQL.
Aprenda estratégias práticas para otimizar o acesso aos dados, proporcionando um desempenho excepcional em ambientes de bancos relacionais. Assista agora e eleve suas habilidades de otimização de banco de dados a um novo patamar!
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 15% de desconto na Alura:
tidd.ly/43UfATs
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no RU-vid ou se tornar um "sponsor" lá no GitHub:
github.com/sponsors/CVinicius...
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: t.me/diasdedev
Twitter: / cviniciussdias
LinkedIn: / cviniciussdias
GitHub: github.com/CViniciusSDias/
0:00 - Introdução
0:47 - Conhecendo o cenário onde trabalharemos
1:55 - Analisando a performance da query
2:51 - Entendendo o problema da query
4:03 - Como índices de bancos de dados funcionam
4:44 - Adicionando um índice à tabela
5:21 - Analisando a query otimizada
6:09 - Indo além na otimização da query
7:10 - Adicionando um índice mais específico
8:03 - Analisando a query mais otimizada
8:24 - Entendendo o conceito de Covering Indexes
10:15 - Regras específicas de criação de índices
11:10 - Conclusão

Наука

Опубликовано:

 

1 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 115   
@williamxsp
@williamxsp 4 месяца назад
Lembrando que EXPLAIN ANALYZE executa a query, diferente do EXPLAIN que tenta fazer uma estimativa. Então cuidado pra não rodar um drop / update sem querer quando for testar alguma query. Ótimo vídeo!
@denisbertaglia
@denisbertaglia 4 месяца назад
De fato uma informação importante, isso é CIPA para banco de dados🤣
@DiasDeDev
@DiasDeDev 4 месяца назад
Informação importantíssima! Vou até fixar!
@GamesShared
@GamesShared 4 месяца назад
No SQL Server alguém saberia dizer quais comandos seriam referente ao EXPLAIN ANALYZE e o EXPLAIN?
@joonasalb
@joonasalb 4 месяца назад
Excelente vídeo!! Mais vídeos com esse assunto de optimização de banco de dados!!
@DiasDeDev
@DiasDeDev 4 месяца назад
Que bom que curtiu! 😁
@jairhumberto
@jairhumberto 3 месяца назад
A ordem das colunas na criação do indice importa. Já a ordem de como essas colunas aparecem no where, não importa. Porém aqui é que vem a grande questão, a ordem das colunas no where não importa, desde que a primeira coluna do índice faça parte do where, por exemplo, se você pesquisar apenas por e-mail, o índice não vai ser usado, e é aqui o motivo do porque a ordem importa. Se suas principais buscas no sistema usam mais email, então inverter a ordem das colunas na criação do índice seria o melhor caminho. Saber exatamente que ordem você deve usar na criação de índices está relacionado a saber como as suas consultas serão realizadas.
@niltonduarte3531
@niltonduarte3531 4 месяца назад
Feliz em saber que você é vascaíno. Tamo junto, sou Dev PHP e vascaíno também!
@DiasDeDev
@DiasDeDev 4 месяца назад
Tamo junto! ◤✠◢
@jeffegiovani
@jeffegiovani 4 дня назад
Tamo juntão!!!
@niltonduarte3531
@niltonduarte3531 4 дня назад
@@jeffegiovani é nois
@jorgelaba8783
@jorgelaba8783 4 месяца назад
No MYSQL a ordem importa, outro ponto é que o resultado disso no MYSQL seria a lista ordenada por e-mail e não por data de nascimento, dependendo do volume e da regra de negócio, pode exigir modificações.
@khasparov5866
@khasparov5866 4 месяца назад
Uma vez no trampo, tinha uma query do laravel muito parecida com a do vídeo porem com mais condições, adicionar uma indice baixou o tempo da query de 30s pra menos de 1s(não lembro exatamente), foi bem surprendente pra mim pelo menos
@JeffLiuth
@JeffLiuth 4 месяца назад
Excelente!!! 👏👏
@deividgfmarinho
@deividgfmarinho 3 месяца назад
Excelentes dicas. Sugiro depois complementar sobre o fill factor (na criação) e o shrink (manutenção) nos índices, que é importante quando a base começa a inchar e os índices continuarem otimizados
@DiasDeDev
@DiasDeDev 3 месяца назад
Ótima sugestão!
@cairo.campos
@cairo.campos 3 месяца назад
Que GUI vc tá usando aí? Ótimo conteúdo 🎉
@hemilioaraujo
@hemilioaraujo 4 месяца назад
Ótimo conteúdo! Obrigado
@DiasDeDev
@DiasDeDev 4 месяца назад
Que bom que gostou!
@pedroa.oliveira2323
@pedroa.oliveira2323 4 месяца назад
TOP! Que ide é essa?
@mateusmunckj
@mateusmunckj 4 месяца назад
Que conteúdo fantástico, parabéns!
@DiasDeDev
@DiasDeDev 4 месяца назад
Que bom que curtiu! 😁
@fgsinacio
@fgsinacio 4 месяца назад
Ótimo conteúdo! 👏👏
@DiasDeDev
@DiasDeDev 4 месяца назад
Que bom que gostou
@retroartist9186
@retroartist9186 4 месяца назад
Excelente!!!!
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que gostou
@dmoitim
@dmoitim 3 месяца назад
Mais um conteúdo top... Valeu Vini 🤘
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que curtiu! :-D
@marceloramos385
@marceloramos385 3 месяца назад
Otima dica
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que curtiu
@cursosdecodeigniter2857
@cursosdecodeigniter2857 4 месяца назад
Espetacular!
@DiasDeDev
@DiasDeDev 4 месяца назад
Valeu!
@TioJobs
@TioJobs 4 месяца назад
Carakaaaaa!!!!! 🎉🎉🎉 Didática: 💯 Relevância: 💯 Amei o conteúdo meu querido! De fato, na maioria das vezes, a falta de performance em uma aplicação web, envolve o BD. Forte abraço! Vou compartilhar com a galera aqui.
@DiasDeDev
@DiasDeDev 3 месяца назад
Valeu, mano! Que bom que curtiu. :-D
@diogovicente4310
@diogovicente4310 3 месяца назад
Cara você é sensacional, obrigado pelos vídeos ❤
@DiasDeDev
@DiasDeDev 3 месяца назад
Fico muito feliz que esteja gostando!
@leofranca4126
@leofranca4126 4 месяца назад
ótimo conteúdo 👏👏
@DiasDeDev
@DiasDeDev 4 месяца назад
Muito obrigado 😁
@bymatheu
@bymatheu 4 месяца назад
Muito bom!!!
@DiasDeDev
@DiasDeDev 4 месяца назад
Que bom que curtiu
@thiagofranciscodealmeida410
@thiagofranciscodealmeida410 3 месяца назад
Muito bom, obrigado por agregar conhecimento.
@DiasDeDev
@DiasDeDev 3 месяца назад
Fico feliz que tenha gostado. :-D
@patrickpires
@patrickpires 4 месяца назад
VASCO DA GAMA! O cara sabe muito! Até a escolha do time é boa!
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@ytppp1367
@ytppp1367 4 месяца назад
Amei o vídeo 😎
@DiasDeDev
@DiasDeDev 4 месяца назад
Que bom que gostou 😁
@moisesabreu4979
@moisesabreu4979 4 месяца назад
Essas dicas são super uteis no dia a dia, muito obrigado !
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que gostou
@Deinahpets
@Deinahpets 3 месяца назад
To apaixonada pela tua forma de explicar!
@DiasDeDev
@DiasDeDev 3 месяца назад
Fico feliz!
@jonathansilva0x00
@jonathansilva0x00 4 месяца назад
Por favor, faz um video mostrando como realizar pesquisa avançada. Exemplo: Ao buscar pela palavra "Calça masculina", também busque por "Calça menino", "Calça masculino", ... Você disse num vídeo que é possível fazer isso na query. Estou desenvolvendo uma loja virtual
@DiasDeDev
@DiasDeDev 3 месяца назад
Já tem um vídeo sobre índices fulltext aqui no canal. Aí pra otimizar isso você precisa entrar nos detalhes do índice de cada SGBD, mas o conceito geral já foi mostrado aqui no canal.
@luigiets
@luigiets 3 месяца назад
um bom vídeo essa semana mesmo estava falando isso para os novos desenvolvedores da empresa, sobre otimização de query e índices, mandei esse video para eles. Sempre um otimo conteúdo
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que foi útil! :-D
@programasplayer3391
@programasplayer3391 4 месяца назад
Já ganhou um inscrito só pela camisa.
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@roneikunkel8625
@roneikunkel8625 4 месяца назад
triste por não existir o analyse no mariadb, mas da pra se virar bem com o explain extended, mesmo sendo menos amigável o retorno
@DiasDeDev
@DiasDeDev 4 месяца назад
Confesso que não sabia.
@cssgabriel
@cssgabriel 4 месяца назад
Muito bom
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que curtiu! :-D
@denisbertaglia
@denisbertaglia 4 месяца назад
Conteúdo muito bom. Que ganho de performance massivo...😮
@DiasDeDev
@DiasDeDev 4 месяца назад
Pois é. Pode fazer bastante diferença
@jefersonmota2338
@jefersonmota2338 4 месяца назад
Resolvi um problema, esses dias relacionado a demora na consulta no banco de dados utilizando justamente índices, agora já sei como otimizar ainda mais, que vídeo bom 👏👏
@DiasDeDev
@DiasDeDev 3 месяца назад
Que bom que curtiu. :-D
@onofrepatrick
@onofrepatrick 4 месяца назад
Muito bom! Mas lembrando que indices geram impacto no insert, então tem q analisar bem as necessidades...
@DiasDeDev
@DiasDeDev 4 месяца назад
Sim sim. Além de ocupar espaço também. Muito bem lembrado!
@heraldo623
@heraldo623 4 месяца назад
Lembrando que índice penaliza a inserção de novos linhas na tabela. Vale a pena se a tabela é mais lida que escrita.
@DiasDeDev
@DiasDeDev 3 месяца назад
Exatamente!
@tonilipe
@tonilipe 3 месяца назад
faz um video mostrando como criar indices nas migrations do laravel. salve vinicius tmj
@DiasDeDev
@DiasDeDev 3 месяца назад
Isso é um conteúdo bem específico que a documentação já mostra. ;-)
@TelesCRVG
@TelesCRVG 4 месяца назад
CLUBE DE REGATAS VASCO DA GAMA! (agora vou ver o vídeo)
@DiasDeDev
@DiasDeDev 4 месяца назад
◤✠◢
@artu_almeida
@artu_almeida 3 месяца назад
Na sua visão quando devemos usar Covering Indexes e quando não? Qual trade-off você faz para saber se utiliza index padrão ou Covering Indexes?
@DiasDeDev
@DiasDeDev 3 месяца назад
A criação de um índice sempre traz custos, tanto de armazenamento quanto de tempo mesmo nas inserções e atualizações. Então você cria um novo índice para ser um covering index quando realmente precisar de mais performance em uma query que possa ser ajudada por um, e o impacto possa ser sustentado, ou seja, você pode gastar um pouquinho mais de disco e tenha bem menos escritas do que leitura para que a demora a mais nos INSERTs e UPDATEs valham a pena a melhoria no SELECT.
@nilsonlautert7089
@nilsonlautert7089 2 месяца назад
boa noite !, como não conheço de banco de dados, as cheves criadas, permanecem ativas no banco ou são temporárias ?
@DiasDeDev
@DiasDeDev 2 месяца назад
O assunto do vídeo é um pouco avançado pra quem ainda não conhece sobre bancos de dados. Mas não, chaves não são temporárias nos bancos de dados relacionais.
@maper77
@maper77 4 месяца назад
Se essa for a principal consulta do sistema ou uma consulta muito utilizada, vale a pena ter um campo "ano_de_nascimento" no BD e no index ?? Entao o where seria ... ano_de_nascimento = "1997". Acredito que ficaria ainda mais rapida a consulta com uma igualdade no lugar de um 'between'. Confere ???
@DiasDeDev
@DiasDeDev 3 месяца назад
Eu honestamente não sei se necessariamente seria mais rápido. Vale a pena fazer o teste.
@Thalles581
@Thalles581 3 месяца назад
A criação de index deixam as ações de CREATE e UPDATE mais lentas?
@DiasDeDev
@DiasDeDev 3 месяца назад
Sim sim. De qualquer tipo de índice.
@lfnkf
@lfnkf 4 месяца назад
Por curiosidade, como fica a performance pra inserção? Deve ter algum impacto não?
@DiasDeDev
@DiasDeDev 4 месяца назад
Tem sim, como todo índice. Isso sempre precisa ser levado em consideração.
@thg_df
@thg_df 4 месяца назад
Isso não foi cache? Por que a busca sem e-mail ficou 21ms trazendo só a data, ela também não seria um índice only?!
@DiasDeDev
@DiasDeDev 3 месяца назад
O explain mostra o custo da query. O custo claramente diminuiu muito. :-)
@leoralph_
@leoralph_ 4 месяца назад
O ideal então seria criar indexes de toda query que formos rodar? Ou tem algum problema?
@JeffLiuth
@JeffLiuth 4 месяца назад
Tem problema, Index gasta espaço na memória e sempre que há uma nova inserção o índice é reordenado, o que dependendo da sua operação pode dar overhead
@DiasDeDev
@DiasDeDev 4 месяца назад
Perfeita explicação. Tudo é questão de "trade-off" em TI.
@gildat
@gildat 4 месяца назад
É ele ali? 🧐💢
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@insightelevado
@insightelevado 3 месяца назад
O vídeo ficou show! Parabéns! Só não entendi o por quê de ter gravado ele sem camisa 😂😂😂😂
@DiasDeDev
@DiasDeDev 3 месяца назад
hahahahah Gravei de terno! :-p
@pedroicarorodriguesmoraes4632
@pedroicarorodriguesmoraes4632 4 месяца назад
Qual o nome desse app?
@psantosdev
@psantosdev 4 месяца назад
JetBrains DataGrip
@christianpossidonio
@christianpossidonio 3 месяца назад
Like pela camisa linda!
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@JhordanSuzuki
@JhordanSuzuki 4 месяца назад
🚀🚀
@DiasDeDev
@DiasDeDev 4 месяца назад
😁
@brunobmorais
@brunobmorais 4 месяца назад
Mais vídeos assim…..
@unknotmiguel
@unknotmiguel 29 дней назад
Só ficou por explicar, e se a pessoa quer buscar 10 colunas.... Nao vai fazer um covering com essas 10 colunas ou vai?
@DiasDeDev
@DiasDeDev 28 дней назад
Se o índice tiver as 10 colunas, sim. Mas um índice com 10 colunas é muito caro e incomum. Se você precisa de tantos dados, provavelmente não vai poder fazer uso de covering indexes, não.
@rafaelsoares8497
@rafaelsoares8497 3 месяца назад
Vascoo
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@user-kc4hs9gq8m
@user-kc4hs9gq8m 3 месяца назад
Vasco!
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@feulip
@feulip 3 месяца назад
Vasxco
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@danielcarrijo1865
@danielcarrijo1865 3 месяца назад
Vasco
@DiasDeDev
@DiasDeDev 3 месяца назад
◤✠◢
@HudsonVentura
@HudsonVentura 4 месяца назад
Ok, ótimo video, mas... Pq não colocar a tabela toda nesse index? Considerando uma busca padrão no sistema, onde sempre busco usuários com determinados campos fixos.
@HudsonVentura
@HudsonVentura 4 месяца назад
Pergunta legítima :)
@DiasDeDev
@DiasDeDev 4 месяца назад
Índices também ocupam espaço e cada inserção o índice é reordenação. Então quanto mais colunas no índice, mais trabalho pro banco.
@hugoguitti18
@hugoguitti18 3 месяца назад
2024 e a galera ainda torce pro vasco
@DiasDeDev
@DiasDeDev 3 месяца назад
Imagina ser adulto e torcer por momento de clube. Kkkkkkkk
@victormelo2414
@victormelo2414 4 месяца назад
Parei pra assistir por conta da camisa do Vascão!!!!
@DiasDeDev
@DiasDeDev 4 месяца назад
◤✠◢
Далее
HELLUVA BOSS - THE FULL MOON  // S2: Episode 8
23:10
Разница подходов
00:59
Просмотров 118 тыс.
Arigato !! 😂
00:11
Просмотров 2,7 млн
Sistema de mensagem (Chat) com C#
18:19
Просмотров 1,6 тыс.
A melhor explicação sobre índices que você já viu
11:28
ПК с Авито за 3000р
0:58
Просмотров 1,5 млн