SQL ou Firebird lento
Estava com uma dúvida, então desenvolvi um sisteminha simples para testar a velocidade dos bancos de dados, entre SQL e Paradox, para minha surpresa o SQL é muito lento, isto ao meu ver se deve ao comando applyupdates(-1), que é lento. Caso os dados ficassem apenas no buffer ele seria mais rapido, alguem sabe o que fazer para o sql ficar mais rapido?
Nish
Curtidas 0
Respostas
Tricano
04/01/2004
Olá !!
A questão da lentidão da linguagem de consulta SQL, é que ela foi projetada para funcionar em cima de SGDB-Sistema Gerenciador de Banco de Dados( Ex: Interbase, Oracle, Sql Server, DB2, Informix, etc...).
O paradox não pode ser chamado de banco de dados. É apenas algumas tabelas para armazenamento de informações em quantidade relativamente pequena, como dbase.
A questão da lentidão da linguagem de consulta SQL, é que ela foi projetada para funcionar em cima de SGDB-Sistema Gerenciador de Banco de Dados( Ex: Interbase, Oracle, Sql Server, DB2, Informix, etc...).
O paradox não pode ser chamado de banco de dados. É apenas algumas tabelas para armazenamento de informações em quantidade relativamente pequena, como dbase.
GOSTEI 0
Rnovak
04/01/2004
Olá Nish
Tenho um grande banco de dados no firebird e no IB6. As consultas são muito rápidas.
Por experiencia notei algumas coisas:
- A configuração do servidor pode resolver: Em Database Cache e Client Map size, veja no help maiores informações de uso.
- Em alguns computadores a aplicação pode ficar lenta devido à limitações da placa mãe. Se a placa tiver menos que 150 MB/s de bandwidth memory então se preocupe em trocá-la. Se seu propósito é usar o servidor de banco de dados na máquina, procure uma de alto performance em bandwidth, pelo menos 3 GB/s.
- O firebird/Interbase conforme vai crescendo pode ficar lento para algumas situações se não for feita sua manutenção. Supondo um banco de 8 GB, é necessário realizar a rotina de manutençao para reconstrução da árvore binária interna que o firebird/IB possuem. A consulta que o banco faz via Árvore binária é a mais rápida conhecida, mas de tempos em tempos é necessário rebalancear as árvores. Uma estratégia para reconstruir as árvores é fazer um backup e em seguida restaurar, todos os índices e árvores serão reconstruídos mas há outros métodos para fazer isso sem tirar do ar o banco.
- A estratégia de conexão que você faz com o banco influi bastante no tempo de resposta. Eu ainda uso conexão via BDE sem problemas. Procure realizar consultas enxutas para não ter problemas, códigos SQL que retornem e enviem apenas o necessário. Baseie-se nas chaves primárias das tabelas, lembre-se que uma aplicação via rede não pode agir como se o banco de dados fosse local.
- Tenho um problema de lentidão com o SQL Server atualmente, mas é referente um aplicativo desenvolvido por terceiros. Pelo que pude verificar, ao que parece, o problema está residindo na forma que o aplicativo se comunica com o banco.
- Cuidado com os controles visuais no aplicativo local, sempre utilize o DisableUpdates antes e EnableUpdades após o open de uma query. O redesenho visual costuma demorar mais do que a consulta no banco de dados.
- Ao fechar janelas, se não vai mais usá-las no aplicativo prefira destruí-las e recriálas conforme necessário. Não deixe Queries ou Tables abertas sem necessidade.
Espero ter ajudado um pouco para resolver seu problema.
- Também realizo trabalhos particulares para acertos de problemas com relação à análise de sistemas e estratégia usada para acesso ao banco, e claro este serviço é pago, se desejar entre em contato.
rnovak@interall.com.br - Roberto Novakosky
Tenho um grande banco de dados no firebird e no IB6. As consultas são muito rápidas.
Por experiencia notei algumas coisas:
- A configuração do servidor pode resolver: Em Database Cache e Client Map size, veja no help maiores informações de uso.
- Em alguns computadores a aplicação pode ficar lenta devido à limitações da placa mãe. Se a placa tiver menos que 150 MB/s de bandwidth memory então se preocupe em trocá-la. Se seu propósito é usar o servidor de banco de dados na máquina, procure uma de alto performance em bandwidth, pelo menos 3 GB/s.
- O firebird/Interbase conforme vai crescendo pode ficar lento para algumas situações se não for feita sua manutenção. Supondo um banco de 8 GB, é necessário realizar a rotina de manutençao para reconstrução da árvore binária interna que o firebird/IB possuem. A consulta que o banco faz via Árvore binária é a mais rápida conhecida, mas de tempos em tempos é necessário rebalancear as árvores. Uma estratégia para reconstruir as árvores é fazer um backup e em seguida restaurar, todos os índices e árvores serão reconstruídos mas há outros métodos para fazer isso sem tirar do ar o banco.
- A estratégia de conexão que você faz com o banco influi bastante no tempo de resposta. Eu ainda uso conexão via BDE sem problemas. Procure realizar consultas enxutas para não ter problemas, códigos SQL que retornem e enviem apenas o necessário. Baseie-se nas chaves primárias das tabelas, lembre-se que uma aplicação via rede não pode agir como se o banco de dados fosse local.
- Tenho um problema de lentidão com o SQL Server atualmente, mas é referente um aplicativo desenvolvido por terceiros. Pelo que pude verificar, ao que parece, o problema está residindo na forma que o aplicativo se comunica com o banco.
- Cuidado com os controles visuais no aplicativo local, sempre utilize o DisableUpdates antes e EnableUpdades após o open de uma query. O redesenho visual costuma demorar mais do que a consulta no banco de dados.
- Ao fechar janelas, se não vai mais usá-las no aplicativo prefira destruí-las e recriálas conforme necessário. Não deixe Queries ou Tables abertas sem necessidade.
Espero ter ajudado um pouco para resolver seu problema.
- Também realizo trabalhos particulares para acertos de problemas com relação à análise de sistemas e estratégia usada para acesso ao banco, e claro este serviço é pago, se desejar entre em contato.
rnovak@interall.com.br - Roberto Novakosky
GOSTEI 0
Rnovak
04/01/2004
Dica:
Procure pelo software SiSoftware Sandra em donwload.com. Sua bandwidth memory pode ser avaliada através deste software.
Procure pelo software SiSoftware Sandra em donwload.com. Sua bandwidth memory pode ser avaliada através deste software.
GOSTEI 0