Fórum performace do IB (A FARIAS) por favor responda #39954
07/11/2003
0
sobre dúvidas que tive,obrigado.
Estou convertendo sistema de .DBF p .gdb.
Usei o datadump para exportacao e usei o dialect 1 (isso altera a performace),
esse sistema tem mais de 100 tabelas (o sistema é integrado,
estoque,vendas,faturamento,cobranca,etc..)
diversas views,SP,GENERATORS
uso codfil + campo chave
(em diversos campos chaves,uso generator)
algumas tabelas com 1.000,15.000,40.000 registros
maquina servidor
AMD DUROM 1.2 GHZ com 120MB ram
HD 40GB
IB VERSAO WI-06.0.2.0
CONFIGUREI
Database Cache 5.000
client map 4.096
OS: win98
uso IP fixo 172.30.69.15
IB modo escrita ligada (para nao perder dados)
uso IBDATASET para manipular dados
uso apenas um IBTRANSACTION para todas as ligacoes IBDATASET,
IBQUERY,IBSTOREPROC
uso comittretaining, e ao sair da tela cadastrro, dou COMMIT
no servidor ate que roda bem,mas nas estacoes é um pouco lento
ao mostrar a tela e ao trazer os dados.
uso recordcount para saber se o registro existe ou nao,na hora
de procurar o campo chave e dbgrid para mostrar os itens dos arquivos
ex: pedido venda,compra,nf saida,etc..) junto com IBQUERY (chama
uma view com itens)
o que eu estou fazendo errado ?
preciso configurar o que nas estacoes para melhorar a velocidade,
pois os dados irão aumentar a ai ?
agradeço antecipadamente
Helder Luiz
Helder Andr
Curtir tópico
+ 0Posts
08/11/2003
Afarias
|sobre dúvidas que tive,obrigado.
OK! tamos ai!
|Estou convertendo sistema de .DBF p .gdb. Usei o datadump para
|exportacao e usei o dialect 1 (isso altera a performace),
Não deve alterar a performance, mas novos sistemas deveriam sempre usar o DIALETO 3. O dialeto 1 é só pra manter compatibilidade com sistemas q rodavam com IB pré-6.0
|uso codfil + campo chave
|(em diversos campos chaves,uso generator)
o q é (codfil + campo chave) ??? e pq não usa SEMPRE generators??
|algumas tabelas com 1.000,15.000,40.000 registros
|maquina servidor AMD DUROM 1.2 GHZ com 120MB ram
|HD 40GB
Pra um sistema como esse com poucos registros o servidor está de bom tamanho... apenas procure *SEMPRE* usar HDs de boa qualidade e de 7200RPM
|Database Cache 5.000
Então, se seu DB Page Size = 4k (4096) vc tem um cache de 2MB
|IB modo escrita ligada (para nao perder dados)
Isso reduz substancialmente a performance ... mas, para um servidor sem No-Break e rodando Windows98 é *necessário*
Só não entendo pq não colocar um servidor Linux (se vc não pode pagar por um Windows 2000)!
|uso IBDATASET para manipular dados
|uso apenas um IBTRANSACTION para todas as ligacoes IBDATASET,
|IBQUERY,IBSTOREPROC
|uso comittretaining, e ao sair da tela cadastrro, dou COMMIT
Ok. eu particularmente prefiro ter transações separadas para cada ´cadastro´ -- mas não tem muita importância -- desde q vc SEMPRE use os commits (e não apenas os retaining).
|no servidor ate que roda bem,mas nas estacoes é um pouco lento
|ao mostrar a tela e ao trazer os dados.
Este servidor tb trabalha como estação?? Sua rede está bem ´estruturada´?? O servidor é tb servidor de arquivos e impressão?? qual sua string de conexão com o banco de dados??
|uso recordcount para saber se o registro existe ou nao,na hora
|de procurar o campo chave
aqui está o seu problema...::
- USE SEMPRE GENERATORS PARA GERAR NÚMEROS SEQUENCIAIS (para campos chaves por exemplo)
- NÃO TRAGA TODOS OS REGISTROS DO BANCO NUNCA!!!
- NÃO USE RECORDCOUNT OU SELECT COUNT(*) INDISCRIMINADAMENTE!!!
|o que eu estou fazendo errado ?
Tudo isso ai acima citado!
|preciso configurar o que nas estacoes para melhorar a velocidade,
|pois os dados irão aumentar a ai ?
Vc só tem q adotar as boas práticas de sistemas C/S -- não programe para Interbase (ou qualquer outro SGBDR) como se estivesse usando Paradox ou DBase -- NÃO FUNCIONA!
T+
Gostei + 0
06/04/2004
Larry
Fiz a conversão de um mdb para gdb e no Delphi6 quando mudo o SQLDialect do IBDataBase de 1 para 3, quando conecto o banco de dados o dialect volta para 1.
Converti usando Datapump, como configurar para usar dialect 3 na proxima conversão? e para mudar o dialect do gdb atual?
Abraços.
Gostei + 0
12/04/2004
Larry
Oque é ´IB modo escrita ligada (para nao perder dados) ´? como configurar isto?
Abraços.
Gostei + 0
16/08/2004
Luizneto
Gostei + 0
17/08/2004
Rodolpho123
Olá amigo,
Olha, eu acho que questões de performance, isso depende de como cada um utiliza a sua estrutura. Tenho uma tabela em FB que contém 500.000 registros e funciona perfeitamente, rápida e precisa. A desvantagem que se tem em utilizar um BD Access em redes C/S é que, para vc ter uma boa performance, vc tem que abrir estas tabelas na rede, junto com os seus índices e as chances de uma corrupção nas tabelas são muito grandes. Se vc tentar utilizar instruções em SQL, aí vai aumentar em dobro a lentidão do seu sistema. Te digo isto pois já tive uma rede com o BD Access e só me dava dor-de-cabeça.
Gostei + 0
17/08/2004
Afarias
Bom LuizNeto, como disse o Rodolpho a performance vai depender muito de *quão bem* vc utiliza os recursos q tem -- é bom vc dar uma olhada mais detalhada em como programar bem para IB e mais, quais as diferenças em SGBDs e GAs (Gerenciadores de Arquivo -- como o Access)
Um banco como o seu para o IB é realmente *MUITO* pequeno e não deve apresentar má performance. Entretanto, para algo assim tão pequeno q com 1 ou 2 estações, o Access (ou qualquer GA) sempre será mais rápido.
O MySQL ocstuma ser levemente mais rápido que o IB tb, pq o MySQL apresar de ser C/S nào é um SGBD de verdade -- então para consultas simples costuma sim ter melhor performance.
|um Grid para visualizar os dados cadastrados no form e sempre comeco
|exibindo os ultimos registros da tabela,
Abrindo todos os registros (select * from tabela) e posicionando no final (Last) -- isso é bem fora das ´boas práticas´ da programação C/S
|qual a desvantagem do Access para redes de ate 10 terminais se nao
|preciso de SP, Triggers, etc. só SQL, frente ao tao elogiado e muito
|utilizado FB ?
Se vai ter muitos acessos simultâneos, NÃO use o Access... GAs são um problema em rede, quanto mais ´conexões´ mais lentos e mais vulneráveis a falhas.
Se não precisa de todo o poder de um SGBD e está confortável com o MySQL (e pode pagar as licenças) sugiro q vá com o MySQL
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)