Pratical Mysql for Web Applications
Vou aproveitar a vinda ao Mysql Conference 2008 para fazer a minha estréia no Blog!
Hoje assisti uma Palestra interessante do Domas Mituzas sobre db design para performance de web applications.
Ele começou dizendo que o mundo web é um mundo diferente do transacional. Nao estamos falando de OLTP e sim OLWP (online web processing).
A web demanda muito mais do ambiente : need data now !! Em relacao ao acesso de dados: menos escrita (em geral inserts) e muitas leituras ( ordered data, range scan, pages)
Aqui vão algumas dicas de como obter melhor performance no Mysql para web applications:
ordering:
- file sorts sao ruins !! procure evitar usando as dicas abaixo …
indexing:
- crie índices para cada query
- use índices compostos
- crie índices para varchar(255) se este for usado no sort
innodb:
- criar indices compostos melhora o tempo de leitura
(para evitar file sorts (neste caso com order by), colocar a coluna do sort no índice pode ajudar
sim, isso aumenta tempo de escrita mas como na web o tempo de leitura é importante, pode valer a pena o sacrifício
query cache:
- não funciona pra grandes aplicações com muitas alteraçoes
- funciona para queries uniformes que não mudam muito
Counts:
-cuidado com counts , é melhor manter o dado calculado
Blobs:
- manter fora da logica da query de pesquisa, apenas fazer o display
- ou seja, leia os blobs em uma segunda query
Paginação:
- bom uso: WHERE id>xxx LIMIT
Character set:
- se possível usar latin 1 (ou outro 8bit charset)
- cuidado com utf8, filesorts ficam mais caros!
Persistent conections:
- “persistent = bad” !!!! (PASMEM, isso tava no slide dele !! vc deve estar se perguntando o que fazer com os pools de conexão, pois é, eu também! - vale a pena testar em nosso ambiente)
“connect is cheap , connection is not” (diferente do Oracle, onde o custo de abrir uma conexão é alto)
o respaldo para o comentário é que as aplicações não usam todas as conexoes e isso gera desperdício de recursos. E como abrir conexões em tese é barato … não precisaria de pool
Bem, essas foram as principais recomendações.
Vale a pena dar uma passada no site do Domas Mituzas: http://dammit.lt/
April 16th, 2008 at 6:10 pm
muito bom camila! estreou no blog com um excelente post! vamos tentar aplicar essas dicas no projeto do novo portal.
April 17th, 2008 at 6:09 pm
Muito bom mesmo camila, bom post