[firebase-br] RE: Mysql x Firebird
Ederson Selvati
asaederson em asaeggs.com.br
Seg Out 11 09:06:49 -03 2004
Caros colegas,
Uso o Firebird a 3 anos e nada tenho a reclamar dele, nunca tive uma corrupção, perda de dados e etc. (tb nunca tive uma queda de energia..:o)), mas o mysql tem me surpreendido bastante principalmente com suas funções de facilidades, não somente se limitando aos selects, inserts, updates básicos sem qquer recurso extra, o q no mysql é muito bem trabalhado. Ao usar innodb as coisas foram bem facilitadas (na versão 4.1 sub selects implementados, na versão 5.0 triggers, stored procedures já implementados e funcionando), agora vamos dar nome aos bois:
"selects, inserts, updates básicos sem qquer recurso extra"
select q automaticamente envia os dados para um txt formatado por tabulações ou qquer tipo de separador de campo.
select * into outfile "c:/teste.txt" fields terminated by ";" optionally enclosed by '"'
from produtos; //delimitado por ;
select id_produto,descricao into outfile "c:/teste.txt" fields terminated by "\t" from produtos; //delimitado por tab
a outra parte agora tb é interessante
load data infile "c:/teste.txt" ignore into table produtos fields terminated by "\t" (id_produto,descricao) //carrega os dados do txt dentro da tabela de produtos, note q a opção ignore irá verificar quebra de integridade na chave primária e caso ocorra, automaticamente o registro é descartado, (muito útil em importações de arquivos de terceiros) mas ai vem a pergunta, mas o mysql nao poderia fazer isso se não a base de dados ficaria errada, ai entra outro detalhe a chave replace q ao invés de ignorar, da um autoupdate no registro.
load data infile "c:/teste.txt" replace into table produtos fields terminated by "\t" (id_produto,descricao)
ainda tem mais switches para os comandos (select .. for update with lock, select .. for update)
caso alguem queira alguma informação extra sobre selects no mysql consulte
http://dev.mysql.com/doc/mysql/pt/SELECT.html (em português)
existe tb o comando replace, q nada a tem a ver com o replace do dbase ("DBF com SQL")
replace registro_50 values (:primaria,:cfop,:aliquota,:contabil,:basedecalculo,:imposto,:isentas,:outras);
caso a chave primaria exista, ele automaticamente da um autoupdate no registro, caso contrário insere um novo.
algumas destas funcoes evitam um
qry.close;
qry.sql.clear;
qry.sql.add('select * from tabela where chave=chave');
qry.open
if not qry.isempty then begin
update registro...
else
insere registro
dentro do delphi ou outra linguagem.
um outro comando interessante é o create temporary table if not exists produtos (id_produto int not null auto_increment,descricao varchar(50), primary key (id_produto))type=innodb;
ou seja, cria uma tabela temporaria q automaticamente será eliminada do banco no final de uma conexão.
estas chaves de verificação em comandos DDL tb são interessantes, if exists, if not exists e por ai vai.
gostaria q o firebird tivesse algumas funções/comandos parecidos com estes implementados, criação de tabelas temporárias, o q viria e muito facilitar nosso trabalho, caso haja uma oportunidade junto ao nosso amigo e moderador Cantu, a indicação destas e algumas outras melhorias no firebird junto a comunidade, seria de grande valia.
Um abraço a todos e "UP the Irons" (by Cantu)
Ederson
Digimaq Registradoras e Sistemas Ltda.
----- Original Message -----
From: "Carlos H. Cantu" <listas-jFiWHqB0Zt839yzSjRtAkw em public.gmane.org>
Newsgroups: gmane.comp.db.firebase.portuguese
Sent: Sunday, October 10, 2004 10:17 AM
Subject: Re: [firebase-br] Firebird x MySQL
> MySQL tem várias desvantagens:
>
> -Falta muita coisa (procedures, triggers, integridade referencial,etc).
> -Para ter alguns desses recursos, vc tem que optar pelo uso do InnoDB,
> SapDB, etc. que não são compatíveis entre si
> -Se precisar de backup online, terá que pagar um precinho salgado
> para comprar uma ferramenta que faça isso, além de ser obrigado a
> usar o InnoDB
>
> E por aí vai...
>
> De uma olhada em http://bdn.borland.com/article/0,1410,32343,00.html
>
>
> []s
> Cantu
> http://www.warmboot.com.br
> FireBase - http://www.FireBase.com.br
>
> TGdO> Bom dia amigos !
>
> TGdO> Muito se escuta falar, e muito se lê sobre estes dois bancos. Conheço um
> TGdO> tanto de gente que usa um ou outro, e cada um puxa o peixe pro seu lado, "q
> TGdO> o Firebird é mais rápido", "q o MySQL é mais seguro" e por ai vai. A minha
> TGdO> esperiência com MySQL foi bem reduzida, digamos, microscópica, já com o
> TGdO> Firebird venho trabalhando há cerca de 2 anos.
>
> TGdO> A questão é a seguinte. Qual dos dois é melhor ? Quais os prós e contras
> TGdO> de cada um dentro de uma comparação ?
>
> TGdO> Tiago Gouvêa de Oliveira
>
> TGdO> MSN: tiagokrio
> TGdO> tiago+netkrio.com.br
> TGdO> (32)3218-1512 - (32)8808-0254
> TGdO> Krio Tecnologia & Desenvolvimento
> TGdO> Mega Sys Informática
>
>
> TGdO> ______________________________________________
> TGdO> FireBase-BR (www.firebase.com.br)
> TGdO> Para editar sua configuração na lista, use o endereço
> TGdO> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
Mais detalhes sobre a lista de discussão lista