MySQL, transações ou outro banco

Estou fazendo um sistema usando MySQL e o controle de transações, como na maioria dos sistemas, é mais do que necessario. Entretanto, parece-me que o MySQL não dá suporte a transações. Isso é verdade?

Mesmo tentando dar um roolback na conexão as mudanças nos dados não são desfeitas. Fiz um debug e percebi que na aplicação tudo parece estar bem feito. Dou um setAutoCommit para false, recupero a conexão de um pool, verifiquei no debug que a conexão é a mesma para todos os passos, e mesmo assim o roolback não funciona. Então fica a pergunta: O MySQL suporta transaçoes?

Quando executo o comando “status” o seguinte é mostrado:

Estou usando o Connector/J 3.0.7-stable e as tabelas são do tipo MYISAM. Li aqui mesmo no forum que talvez seja possivel colocando a tabela como InnoDB. O problema é que a performance não é satisfatoria. Li tambem sobre “operações atomicas” mas nem faço ideia do que seja.

É claro, mudar para um outro banco ainda é uma possibilidade aceita já que o projeto está apenas no inicio. Não quero usar o Firebird e o Postgree. Bom, até que eu queria usar o Postgree mas me parece que no windows ele é “emulado”. Me recomendaram, e bem, o SAP DB. O que vcs acham?

Agradeço qualquer ajuda.

você tem que criar as tabelas do tipo InnoDB, assim elas darão suporte a Transação, Foreign Key e etc…

Olá ManchesteR,

Eu sei que tabelas InnoDB tem essas caracteristicas. Só que, conforme eu disse antes, pelo que sei elas comprometem a performance o que não é interessante pra mim. Mais alguem tem sugestões?

Até mais.

pelos testes que eu fiz, elas realmente são um pouco mais lentas que a padrão myIsan, mas elas nao é tao lentas assim nao, são muito rápidas
fiz teste com 1 milhao de registro em cima de um P3 500 com 128ram rodando Linux Slackware… fiz consultas, deletes, updates e o InnoDB foi bem.

Aconselho voce fazer uns testes pra ver a performance… qualquer coisa existe outros DB como PostgreSql

Bom, somente quanto todas tables envolvidas forem innodb voce tem como usar transações e FK. MyISAM não suporta isso ponto.

E quanto ao SAB DB? Alguem recomenda (ou não) esse banco?

Até…

Tecnicamente, eu recomendo… o problema do SAPDB e’ que ele foi assassinado pela SAP quando ela se juntou ao time do MySQL :frowning:

Por “assassinado” vc quer dizer descontinuado? Se comparado ao MySQL nos quesitos: recursos, velocidade, driver jdbc and so on quem se sai melhor?

Até…

Recursos: SAPDB 8 x 5 MySQL
Velocidade: SAPDB 7 x 9 MySQL
Driver JDBC: SAPDB 9 x 7 MySQL

Mas isso eh soh minha humilde opiniao… alias, minha humilde opiniao é que vc nao deveria estar olhando pra nenhum desses dois, e ja devia estar usando PostgreSQL faz tempo :wink:

Por sinal, se voce for usar mysql mesmo, avisa o pessoal aqui pq vamos querer acesso a uma copia GPL do fonte. :twisted:

Hum, mas eu só preciso colocar os codigos sob gpl se for para desenvolvimento comercial, certo?! E cv, esse avatar é algum dos personagens dos Happy Tree Friends.

Até…

[quote=“cancao”]E cv, esse avatar é algum dos personagens dos Happy Tree Friends.

Até…[/quote]

Acabei vendo nesse outro post que sim. :wink:

Até…

Hum, mas eu só preciso colocar os codigos sob gpl se for para desenvolvimento comercial, certo?! E cv, esse avatar é algum dos personagens dos Happy Tree Friends.

Até…[/quote]

Não, GPL é GPL, não importa se vai ser para uso comercial, pessoal, pesquisa ou terrorismo.