VB COM FIREBIRD
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.
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.
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
à ÂNDICES SÃO FUNDAMENTAIS NO FIREBIRD !!!
Fish
Se você substituir o driver Zstyle pelo sibprovider ou iboledb vai melhorar muito eu creio. O sibprovider você encontra aqui no site mesmo.
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
Select * from FORNECEDORES where codigofornecedor='00001' using icodigofornecedor
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
EU ELIMINARIA O
QUANTO A
Select * from FORNECEDORES where codigofornecedor='00001' using icodigofornecedor
EU ELIMINARIA O
using icodigofornecedo
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
fISH
Tópico encerrado , respostas não são mais permitidas