Indices e possiveis problemas
olá pessoal, criar muitos indices no mysql pode deixar ele lento ou possa gerar problemas de alguma forma?
Alan Mario
Curtidas 0
Melhor post
William
24/07/2014
Cara essa é uma dúvida constante do pessoal, índices podem ajudar em muitos casos mas também podem degradar em muitos casos. ...
Existem várias questões ligadas a escolher bons índices, mas resumidamente use somente o necessário e o principal, escolha bons candidatos (boa cardinalidade).
O que significa boa cardinalidade, quanto maior for a distinção de valores em uma coluna, melhor será a cardinalidade, exemplo o campo sexo é um péssimo candidato à índice pois somente serão gravados valores "M" e "F" nessa coluna, agora pense em cadastro de cliente o CPF seria um bom índice, não como chave primária (outra discussão entre os DBAs), mas os valores serão bem distintos.
Para finalizar, uma grande quantidade de índices em uma tabela pode prejudicar a performance de INSERTs, UPDATEs e DELETEs pois sempre que ocorrem essas operações a tabela com índices também tem que ser atualizada.
Esse assunto é muito extenso e não dá para explicar tudo aqui, mas pesquise sobre os tipos de índices, cada SGBD possuí peculiaridades para ler certos tipos, existe muito material na net ...
Existem várias questões ligadas a escolher bons índices, mas resumidamente use somente o necessário e o principal, escolha bons candidatos (boa cardinalidade).
O que significa boa cardinalidade, quanto maior for a distinção de valores em uma coluna, melhor será a cardinalidade, exemplo o campo sexo é um péssimo candidato à índice pois somente serão gravados valores "M" e "F" nessa coluna, agora pense em cadastro de cliente o CPF seria um bom índice, não como chave primária (outra discussão entre os DBAs), mas os valores serão bem distintos.
Para finalizar, uma grande quantidade de índices em uma tabela pode prejudicar a performance de INSERTs, UPDATEs e DELETEs pois sempre que ocorrem essas operações a tabela com índices também tem que ser atualizada.
Esse assunto é muito extenso e não dá para explicar tudo aqui, mas pesquise sobre os tipos de índices, cada SGBD possuí peculiaridades para ler certos tipos, existe muito material na net ...
GOSTEI 1
Mais Respostas
Alan Mario
24/07/2014
Willian entendi por ser um assunto extenso e que devemos ter bastante cuidado, sobre o conhecimento teorico, eu encontro uma boa leitura nos livros?
- sistema de banco de dados
- sistema de banco de dados
GOSTEI 0
Alan Mario
24/07/2014
William?
GOSTEI 0
Ronaldo Lanhellas
24/07/2014
Willian entendi por ser um assunto extenso e que devemos ter bastante cuidado, sobre o conhecimento teorico, eu encontro uma boa leitura nos livros?
- sistema de banco de dados
- sistema de banco de dados
Como nosso amigo Willian citou, indices podem sim causar lentidão se usados de forma errada, deve haver um estudo deles antes de utilizá-los. Segue link: http://www.webgoal.com.br/como-otimizar-consultas-no-mysql/
GOSTEI 0
Alan Mario
24/07/2014
disso eu estava ciente o uso exagerado e de forma errada pode mais causar problemas do que soluções. obrigado.
GOSTEI 0
William
24/07/2014
Willian entendi por ser um assunto extenso e que devemos ter bastante cuidado, sobre o conhecimento teorico, eu encontro uma boa leitura nos livros?
- sistema de banco de dados
- sistema de banco de dados
Não sei se vc está se referindo a um livro, pois eu eu tenho um livro com esse título "sistema de banco de dados", muito bom mas enorme!! srsrsrsrs
GOSTEI 0
Alan Mario
24/07/2014
exatamente esse livro. é enorme e caro!!! tem o assunto, uma base boa?
GOSTEI 0
William
24/07/2014
Eu gostei do livro é bem abrangente em sistemas de banco de dados, eu acho importante ter embasamento teórico aliado a prática do dia a dia!!!
GOSTEI 0
Marisiana Battistella
24/07/2014
Como nosso amigo Willian citou, indices podem sim causar lentidão se usados de forma errada, deve haver um estudo deles antes de utilizá-los. Segue link: http://www.webgoal.com.br/como-otimizar-consultas-no-mysql/
Bem interessante o conteúdo desse link Ronaldo!
Encontrei outro artigo sobre esse assunto e achei interessante compartillhar: [url:descricao=Índices MySQL : Otimização de consultas]http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao-de-consultas.aspx[/url]
GOSTEI 0
Alan Mario
24/07/2014
Eu gostei do livro é bem abrangente em sistemas de banco de dados, eu acho importante ter embasamento teórico aliado a prática do dia a dia!!!
li algumas parte e algumas vezes esse livro, peguei emprestado de um amigo, é bem legal mesmo e tem que ter disposição. hehehe
GOSTEI 0
Marisiana Battistella
24/07/2014
Eu gostei do livro é bem abrangente em sistemas de banco de dados, eu acho importante ter embasamento teórico aliado a prática do dia a dia!!!
Concordo com o William, é importante aprender a teoria!
Nos conduz a aprender o que é da forma mais correta possível...
GOSTEI 0
Alan Mario
24/07/2014
teoria é a base e sem ela fica mais dificil evoluir, pode acontencer mas de uma forma mais dificil.
GOSTEI 0
Marisiana Battistella
24/07/2014
Quando não acontece de forma errada, pelo fato de ter adquirido um conhecimento errado...
GOSTEI 0
Alan Mario
24/07/2014
Quando não acontece de forma errada, pelo fato de ter adquirido um conhecimento errado...
Verdade, demorei para entender, hehehe
GOSTEI 0
Ronaldo Lanhellas
24/07/2014
Como nosso amigo Willian citou, indices podem sim causar lentidão se usados de forma errada, deve haver um estudo deles antes de utilizá-los. Segue link: http://www.webgoal.com.br/como-otimizar-consultas-no-mysql/
Bem interessante o conteúdo desse link Ronaldo!
Encontrei outro artigo sobre esse assunto e achei interessante compartillhar: [url:descricao=Índices MySQL : Otimização de consultas]http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao-de-consultas.aspx[/url]
Pois então, existem diversos artigos sobre este assunto.
GOSTEI 0
Alan Mario
24/07/2014
encontrar conteudo de MySQL não é tão dificil.
GOSTEI 0
Marisiana Battistella
24/07/2014
Geralmente tem muitos tutoriais e documentação sobre as ferramentas na web. Como esse, por exemplo: [url]http://dev.mysql.com/doc/refman/5.0/en/tutorial.html[/url]
GOSTEI 0
Alan Mario
24/07/2014
apesar de não ser a minha praia, vi a documentação de PHP em portugues, achei de facil entendimento.
GOSTEI 0
Marisiana Battistella
24/07/2014
Geralmente são materiais bem completos, assim, é vantagem recorrer à eles...
GOSTEI 0
Alan Mario
24/07/2014
Geralmente são materiais bem completos, assim, é vantagem recorrer à eles...
tem empresas que sabem investir nessa parte, não é só comercio é capacitar e informar com qualidade irá gerar um crescimento de profissionais.
GOSTEI 0
Marisiana Battistella
24/07/2014
Eu acho que todas estão investindo, pois mais importante do que vender é saber repassar os recursos que cada tecnologia possui.
De nada adianta adquirir um produto bom se eu não sei pra q ele serve ou pra eu vou poder utilizar ele...
De nada adianta adquirir um produto bom se eu não sei pra q ele serve ou pra eu vou poder utilizar ele...
GOSTEI 0
Alan Mario
24/07/2014
é o minimo que elas podem fazer, falando em brasil, não é todo mundo que sabe inglês, sabemos que é necessario, mas acho que não custa nada passar material traduzido, na maioria dos casos quem faz isso é propria comunidade.
GOSTEI 0
Marisiana Battistella
24/07/2014
Olha aprendi uma coisa: "Google Translator", a solução pra muitos problemas! =D
GOSTEI 0
Ronaldo Lanhellas
24/07/2014
Olha aprendi uma coisa: "Google Translator", a solução pra muitos problemas! =D
Hehehe, não vicie.
GOSTEI 0
Marisiana Battistella
24/07/2014
Melhor mesmo é aprender o inglês, mas quando vc precisa d uma solução rápida, não deixa de ser uma boa alternativa.
GOSTEI 0
Alan Mario
24/07/2014
Google Translate ajuda mesmo mas é uma solução quebra galho...para o momento.
GOSTEI 0
Claudio Ferreira
24/07/2014
Sem a teoria voce fica igual a muitos buscando nos foruns reposta para questões que não se resolvem com um simples comando, a solução de um problema muitas vezes vem de uma boa arquitetura e entendimento de como as coisas funcionam internamente. Seja na modelagem, tunning e configuração de banco, seja na arquitetura e implementação de sistemas.
Teoria é fundamental.
Teoria é fundamental.
GOSTEI 0
Alan Mario
24/07/2014
Claudio, realmente é isso, tenho que rever alguns conteudos.
GOSTEI 1