TQuery ou TTable ?

Delphi

07/07/2003

Olá

Estou com a seguitne duvida:
O que vocês acham melhor pra mim usar? O TQuery com consultas, alteraçoes, etc em SQL Query ou usando os comandos do TTable para realizar o mesmo?

O que é mais rápido? O que é mais eficiente?
Brigado


Nildo

Nildo

Curtidas 0

Respostas

Thaisandrade

Thaisandrade

07/07/2003

Com certeza a melhor opção é usar instruções SQL para manipular seu banco de dados, sem contar que a portabilidade do seu sistema fica maior.


GOSTEI 0
Nildo

Nildo

07/07/2003

Mas me disseram que seu meu banco de dados conta com um numero grande de registros, é melhor usar o TTable para instruções atravez de propriedades. É verdade?


GOSTEI 0
Thaisandrade

Thaisandrade

07/07/2003

Temos um sistema que roda totalmente com instruções SQL, usamos o Sybase e existem tabelas que tem mais de 5 milhões de registros, funciona normalmente. Qual banco de dados você usa?


GOSTEI 0
Nildo

Nildo

07/07/2003

Paradox
Oq vc acha


GOSTEI 0
Kfe

Kfe

07/07/2003

É muito melhor usar tquery para manipulação de dados. Quando utilziado um componente ttable, o acesso ao banco com tabelas mto grandes ficará comrpometido. Isso porque todos os registros serão utilizados localmente e os filtros serão aplicados na máquina local. se sua aplicação fnciona com banco via rede, terá uma péssima perfomance. Com um componente tQuery, vc poderá ter maior controle sobre os ´result sets´, updates, etc, ganhando em desempenho. A filtragem será feita pelo próprio banco, retornando somente os registros desejados.
Portanto, não tenha dúvidas. Se for uma aplicação grande ou qeu funcionará via redes, use TQuery.
Espero ter ajudado.
Abraços


GOSTEI 0
Marcelo Carvalho

Marcelo Carvalho

07/07/2003

Oi,

E tem mais... Logo, logo o Paradox vai abrir o bico, vai corromper os índices, você vai ficar furioso e mudar pro Interbase. Aí usando TQuery já estará na metade do caminho para a migração... :wink:


GOSTEI 0
Nildo

Nildo

07/07/2003

Obrigado mesmo!
Queria saber tambem se existe algum banco de dados que eu possa manipular com Queries de SQL, mas que não necessite do BDE ou qualquer um desses gerenciadores de banco de dados?

Obrigado!


GOSTEI 0
Delmar

Delmar

07/07/2003

Ainda com uso de query vc poderá escolher somente os campos que deseja retornar. O uso de TTable sempre retornará todos os campos o que, no caso de uma rede, contribui ainda mais para degradar a performance de todo seu ambiente (não somente do servidor).

Outra cacarterística importante da query, é que é possível mesclar dados de várias tabelas e ainda contar com todo potencial SQL para recuperar informações a partir do SGBD.


De preferência use um SGBD e não um gerenciador de arquivos.

Existem várias Engine de acesso a dados e, vale lembrar, o BDE foi descontinuado.
DBExpress, IBX, IBO, ADO, ZEOS
T+


GOSTEI 0
Nildo

Nildo

07/07/2003

Obrigado!
Vc pode me responder soh mais uma coisa?

Quando eu uso a Query SQL para deletar um registro, Cai no evento OnAfterDelete do TQuery ? Porque aqui na minha TQuery nao caiu no onAfterDelete. Porque? A mesma coisa ocorre com o AfterEdit, afterInsert


GOSTEI 0
Thaisandrade

Thaisandrade

07/07/2003

Bom, já que você está usando Paradox, por que não usa Interbase? É um banco de dados que apresenta uma ótima performance, de fácil manutenção e administração além de ser Free. Quanto ao método de conexão, você pode usar o BDE, ou então usar os componentes IBX. Sem falar de outros métodos, tipo ADO.


GOSTEI 0
Nildo

Nildo

07/07/2003

Entao se eu usar o InterBase usando os componentes IBx, eu não vou precisar instalar nada nas máquinas de meus clientes?


GOSTEI 0
Marcelo Carvalho

Marcelo Carvalho

07/07/2003

Oi,

Como disse a Thais, o IB é uma solução quase natural para o Delphi.

Em tese você se livra do BDE, mas passa a depender do IBClient. Mas há um ´truquinho´... Se você colocar a biblioteca GDS32.dll do Firebird (e não a original do IB) junto da sua aplicação, você consegue rodar um cliente do IB sem [b:f74e3dcb04]nenhuma[/b:f74e3dcb04] instalação extra nos clientes e sem reboot. Tenho usado uma versão meio antiga da DLL do FB, que funciona perfeitamente com o IBX do D7. Não posso garantir o funcionamento com as versões mais novas do FB.

A DLL do FB é mais ´esperta´ que a do IB. A do IB depende da configuração da porta TCP/IP que o IB usa, através de uma entrada no arquivo SERVICES do Windows. Esta configuração é feita pela instalação do IBClient (que também copia a DLL e mais algumas coisas) e às vezes depende de reboot. Já o FB pressupõe esta porta como padrão. Você só precisaria configurá-la em caso de conflito, o que é muito improvável.


GOSTEI 0
Nildo

Nildo

07/07/2003

Valew! Eh sempre bom a gente discutir esses assuntos! Quem tiver mais algum comentário pode postá-lo aqui!


GOSTEI 0
POSTAR