VB COM FIREBIRD

BJNET 19/12/2006 08:42:54
#190778
Estou migrando um aplicativo que funcionava com access 2000 para firebird 1.5, porem está ficando mais lento do que com access.
Estou utilizando vb6/ flexgrid / ibole e as tabelas tem aprox. 100 mil registros. Isso tudo localmente.

Qdo executo um update em 15 registros a coisa é astronà'mica. A maquina chega a reportar que a aplicacao não está respondendo.

O que pode estar errado.
Wilson.










USUARIO.EXCLUIDOS 19/12/2006 09:14:18
#190792
BJNET, veja, o access 2000 não é um banco de dados profissional, apesar de ser possível fazer uma infinidade de coisas com ele. Já o FIREBIRD, é um banco profissional, apesar de free e de não ter todos os recursos dos grandes bancos. O que está acontecendo é que além da chave primária, os índices são extremamente fundamentais no firebird, ou seja, se você tem uma consulta por nome, deve obrigatóriamente criar um índice por nome na tabela desejada. No caso do seu update, deve haver uma clausúla WHERE neste update. Os campos envolvidos nesta clausula, devem ter um indice. Por exemplo imagine que nesta clausula haja o campo vencimento e status. Você deverá criar um índice contendo os campos vencimento + status. Se você utilizar o IBExpert para administrar o banco e utilizar o SQL Editor, verá que ele exibe a maneira que o FIREBIRD usou para localizar o registro através do plan table. Cria os índices e seus problemas acabarão.

àNDICES SÃO FUNDAMENTAIS NO FIREBIRD !!!


Fish
USUARIO.EXCLUIDOS 19/12/2006 09:30:59
#190803
Se você substituir o driver Zstyle pelo sibprovider ou iboledb vai melhorar muito eu creio. O sibprovider você encontra aqui no site mesmo.
BJNET 19/12/2006 15:59:01
#190965
BEm, criei os indices com create index ..... mas tenho que incluí-los no select. Se sim como faço pois tentei colocar da seguinte maneira

Select * from FORNECEDORES where codigofornecedor='00001' using icodigofornecedor



WEBER 19/12/2006 16:04:27
#190967
BOM PRIMEIRO DE TUDO MUDE O PROVEDOR OU SIBPROVIDER OU ODBC, ENTRE NO MEU CADASTRO E VC VERA Q O SOB EU DISPONIBILIZEI UMA VERSAO FREE AQUI NO SITE PARA DOWLOAD

QUANTO A

Select * from FORNECEDORES where codigofornecedor='00001' using icodigofornecedor 


EU ELIMINARIA O
 using icodigofornecedo

USUARIO.EXCLUIDOS 19/12/2006 16:14:07
#190971
Bom eu trabalhao com FIREBIRD a muito tempo, utilizando VB e COBOL. O firebird sendo tulizado tanto em plataforma LINUX quanto WINDOWS. O provedor que você usa é muito bom. Eu uso em meus sistema. Quanto aos índice, você não precisa cocloca-los explicitamente na frase SQL, basta deixar os campos da clausula WHERE na ordem do indíce que você quer utilizar. O FIREBIRD tentará utilizar um dos seus índices baseado nos campos em questão. Para ter certeza que a frase está utilizando o índice que você deseja, use o IBEXPERT.

fISH

Tópico encerrado , respostas não são mais permitidas