Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

InterPlanet

Primeiro grande projeto, otimização do banco de dados

Recommended Posts

Saudações turma!

 

Estou desenvolvendo um grande projeto comercial, um jogo de administração, e sendo ente meu primeiro "grande" projeto, me deparei com a importância da questão: otimização do banco de dados.

Tenho várias dúvidas e, assim sendo, peço aos admins que mantenham este tópico aberto pois a medida que as questões forem surgindo eu vou postando aqui sem necessidade de novos posts.

 

Breve explicação sobre o projeto, para ajudar no entendimento do contexto: o game é de administração com ponto focal em companias aérias e, conseguinte, realização de voôs entre todos os aeroprotos do planeta. Além das, óbvias, companias aérias será possível administrar alianças (tipo cooperativa de companias) e bancos (toda a movimentação financeira passará por eles).

 

Questões que já melhoreu (acho, rs)

- Uso de varchar (e char quando aplicável: tamanho fixo) ao invés de tinitext, txt e etc. Quanto a isto eu já li e entendi bem quando usar cada tipo de dados de texto.

 

Questão 1: uso de índices.

 

Tabela de exemplo: companias_avioes

 

mysqlv.png

 

Esta tabela retrata bem minhas dúvidas sobre a questão índices.

 

Nela tenho a primary key, comum a todas as outras bases, no campo reg. Começando a ler, e entender, sobre o assunto eu criei dois índices únicos: jogador e companhia baseado na informação: "precisa criar índices em campos que usará em clásulas WHERE."

 

De fato ao consultar os aviões eu usarei, muito provavelmente os campos companhia e jogador nas "WHERE", mas também usarei muito consultas JOIN, são muitas dúvidas.

 

Dúvida 1: estão corretos estes índices?

 

Dúvida 2: devo, realmente, criar índices em "todos" os campos que usarei pra localizar regitros?

 

Dúvida 3: sobre os tipos, UNIQUE e PK são autoexplicativos, mas qual a diferença entre FULL TEXT e INDEX? Quando usá-los?

 

Dúvida 4: como estes índices trabalham?

 

------------------------------------------------------------------------

 

Por hora e só, aguardando posicionamentos e, se possível, indicação de bons links para estudo, preferencialmente em português.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes eu aconselharia você ler algum material sobre Modelagem e Normalização.

 

Obrigado Motta! Dei uma lida superficial agora e mais tarde vou procurar mais sobre os dois assuntos/conceitos e estudá-los..

 

otimização é feita em gargalos do sistema e não em todo ele.

 

sobre indices do mysql:

http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

 

Shini, obrigado, tem algum link em português mais simples e resumindo?

 

-----------------------------------------------------------------------------------------------------------------------------

 

Quanto a otimização, não tenho certeza se usei a palavra correta, mas o objetivo final e manter o banco de dados o mais rápido e organizado possível, pois, claro, é esperada muita atividade nele e mesmo um servidor dedicado não adiantará se não tiver um bom banco de dados. Quero evitar demora desnecessária nas consultas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.