Fórum StoreProc x ExecuteDirect x CDS -gt;FB Delphi #357782
28/04/2008
0
Boa Noite, tudo blz, galera delphiniana.
Gostaria de compartilhar da opniao de vcs, pessoal.
Muita se fala de performance, de acesso a banco e de que forma. Como estou tentando organizar melhor meus sistemas, e migrando para o DataSnap, alhias como o Adriano falou na CD 94 : ´Resumindo, uma das melhores alternativas´. Deixei a preguiça de lado em ficar procurando na net, e fiz um testezinho com 5000 registros/13 campos, sem controle algum(transacao e etc...), e ficou assim:
1.conexao.executedirect(imbativel com TSocketConnection, inclusive em uso, com Server/Client na mesma maquina)
2.ClientDataSet
3.e por ultimo a StoreProcedure.
Sei que em alguns casos um(por ser mais facil a mutencao) leva vantagem sobre, outro.
Um Abraço, T+
Gostaria de compartilhar da opniao de vcs, pessoal.
Muita se fala de performance, de acesso a banco e de que forma. Como estou tentando organizar melhor meus sistemas, e migrando para o DataSnap, alhias como o Adriano falou na CD 94 : ´Resumindo, uma das melhores alternativas´. Deixei a preguiça de lado em ficar procurando na net, e fiz um testezinho com 5000 registros/13 campos, sem controle algum(transacao e etc...), e ficou assim:
1.conexao.executedirect(imbativel com TSocketConnection, inclusive em uso, com Server/Client na mesma maquina)
2.ClientDataSet
3.e por ultimo a StoreProcedure.
Sei que em alguns casos um(por ser mais facil a mutencao) leva vantagem sobre, outro.
Um Abraço, T+
Luiz Henrique
Curtir tópico
+ 0
Responder
Posts
29/04/2008
Webjoel
Olá!
É como você falou, cada um tem suas vantagens e suas limitações, mas eu acredito que para cada caso é um caso.
Mas como hoje nós programadores somos pressionados a cada instante por prazos de tempo, eu fico com o ClientDataSet pela facilidade de manutenção, mas em qualquer projeto a gente pode usar o uso dos três, não digo completamente!
Mas temos o porém da velocidade e segurança de informações, por isso um bom projeto deve usar muito a programação no próprio banco de dados, deixando boa parte do negócio lá, onde a segurança é muito maior. Triggers, Procedures, nunca é demais mais um desses no banco.
Deixando a aplicação somente jogar as informações e banco decide o que fazer.
Até hoje não tive resultados melhores. Mas não me impediu de eu dar executedirect e usar transações em determinados procedimentos. Cada caso é um caso. Mas precisamos seguir uma ideologia principal, não podemos misturar tudo.
Por isso uma boa genérica (herança) e um bom uso do banco de dados se ganha tempo, tem-se menos trabalho com manutenção e a produtividade aumenta! E produtividade é vital em nossa área!
É como você falou, cada um tem suas vantagens e suas limitações, mas eu acredito que para cada caso é um caso.
Mas como hoje nós programadores somos pressionados a cada instante por prazos de tempo, eu fico com o ClientDataSet pela facilidade de manutenção, mas em qualquer projeto a gente pode usar o uso dos três, não digo completamente!
Mas temos o porém da velocidade e segurança de informações, por isso um bom projeto deve usar muito a programação no próprio banco de dados, deixando boa parte do negócio lá, onde a segurança é muito maior. Triggers, Procedures, nunca é demais mais um desses no banco.
Deixando a aplicação somente jogar as informações e banco decide o que fazer.
Até hoje não tive resultados melhores. Mas não me impediu de eu dar executedirect e usar transações em determinados procedimentos. Cada caso é um caso. Mas precisamos seguir uma ideologia principal, não podemos misturar tudo.
Por isso uma boa genérica (herança) e um bom uso do banco de dados se ganha tempo, tem-se menos trabalho com manutenção e a produtividade aumenta! E produtividade é vital em nossa área!
Responder
Gostei + 0
29/04/2008
Luiz Henrique
Bom dia, legal, valeu webjoel, quanto mais opniao melhor...vamos continuando entao...
Triggers blz, uso para auto-incremento, disparar aqui e ali ´cadeias´ de procedimentos(Inclusive alguma SP).
SP, uso para algumas consultas, e poucas insercoes/atualizacoes mais de uso para Triggers mesmo.
Para as principais insercoes/atualizacoes:
Agora vamos ao CDS, uso para praticamente leitura de dados.
Cara, até agora nao consegui ver a facilidade de manutencao ClienteDataSet/Store Procedures em larga escala por ´INSERT/UPDATE´
Veja: tenho rotinas de inclusao de campo e tabelas automaticas quando existe a necessidade, isto com ou sem Store Procedures necessito fazer, ajuste na tela/cliente tambem necessito fazer, nao vou incluir alguma procedimento sem que o cliente nao possa usar, e agora é que vejo a diferença: com INSERT/UPDATE ajusto e quase blz.
com SP/CDS: alem de ter que ajustar o CDS/Cliente preciso ainda atualizar a SP.
Um Abraço a todos
Triggers blz, uso para auto-incremento, disparar aqui e ali ´cadeias´ de procedimentos(Inclusive alguma SP).
SP, uso para algumas consultas, e poucas insercoes/atualizacoes mais de uso para Triggers mesmo.
Para as principais insercoes/atualizacoes:
Agora vamos ao CDS, uso para praticamente leitura de dados.
Cara, até agora nao consegui ver a facilidade de manutencao ClienteDataSet/Store Procedures em larga escala por ´INSERT/UPDATE´
Veja: tenho rotinas de inclusao de campo e tabelas automaticas quando existe a necessidade, isto com ou sem Store Procedures necessito fazer, ajuste na tela/cliente tambem necessito fazer, nao vou incluir alguma procedimento sem que o cliente nao possa usar, e agora é que vejo a diferença: com INSERT/UPDATE ajusto e quase blz.
com SP/CDS: alem de ter que ajustar o CDS/Cliente preciso ainda atualizar a SP.
Um Abraço a todos
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)