[firebase-br] Manter cursor aberto ou fechado ?

luapfirebird em yahoo.com.br luapfirebird em yahoo.com.br
Qui Maio 2 18:19:18 -03 2019


 Em primeiro lugar lugar agradeço o amigo pela atenção.
Atualmente eu uso o IBDac que diz o seguinte :: 
https://www.devart.com/ibdac/docs/devart.ibdac.tibcdatasetoptions.autoclose.htm
Use a propriedade AutoClose para CustomIBCDataSet para fechar o cursor depois de buscar todas as linhas. Permite reduzir o número de cursores abertos no servidor.

O FireDac  http://docwiki.embarcadero.com/Libraries/Tokyo/en/FireDAC.Stan.Option.TFDFetchOptions.AutoClose Controla o fechamento automático de um cursor do conjunto de dados após a obtenção do último registro. Use o valor da propriedade AutoClose para controlar o fechamento automático de um cursor do conjunto de dados. Se AutoClose estiver configurado como True e o último registro for buscado no conjunto de resultados atual, o cursor subjacente será fechado, todos os conjuntos de resultados adicionais que ainda não foram processados ​​serão descartados e os recursos associados aos cursores serão liberados. O dataset ( descendente de TFDDataSet ) é fechado, mas seu objeto de comando interno é fechado. Isso permite a liberação de recursos do DBMS associados a um cursor o mais rápido possível.  Se o comando SQL retornar vários conjuntos de resultados e você precisar processar todos eles, será necessário definir AutoClose como False . Caso contrário, depois de processar o primeiro conjunto de resultados, todos os outros conjuntos de resultados serão descartados. 
Eu confesso que estou perdido com essa questão me parece que o cursor é como se fosse uma tabela montada em memoria no servidor e que essa opção fecha essa tabela ficando deixando aberta só no DataSet Local.
Por isso não sei se deixar o Cursor aberto pode prejudicar em uma eventual queda de energia  e se ótimiza o desempenho fazendo com que se a mesma consulta for requisitada o Firebird não preciso montar novamente a query pois vai analisar o cursor já montado previamente que ficou aberto.
Grato.






    Em quinta-feira, 2 de maio de 2019 15:09:49 BRT, Gladiston Santana <gladiston em vidy.com.br> escreveu:  
 
 Cursor é a designação da posição atual dentro dum conjunto de dados.
Muito util quando vocÊ precisa navegar num conjunto de dados.
Cursor para mim, tem muita serventia dentro de procedures e loops,
desconheço outra forma de uso pelo usuário.
As vezes suites como firedac, ibo, .... podem usar o termo cursor para
referir-se a posição dentro dum grid ou dataset e há um evento para
determinar o que será feito se o curso for finalizado como por exemplo, a
pesquisa for finalizada, se tem autoclose, deve significar fechar a conexão.

inte+


Em qua, 1 de mai de 2019 às 13:00, luapfirebird em yahoo.com.br <
luapfirebird em yahoo.com.br> escreveu:

> Pessoal tenho uma dúvida sobre qual a diferença entre deixar o cursor
> aberto ou ativar a propriedade AutoClose do Ibdac para assim que trazer
> todos os dados fechar o cursor minha duvida é manter o cursor Aberto terei
> ganho em desempenho? Terei mais problemas com corrupção no banco de dados
> por manter o cursor aberto e tiver uma queda de energia?  Enfim quais as
> vantagens e desvantagens de manter aberto ou fechado.  Grato.
> Enviado do Yahoo Mail no Android
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>


-- 
A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
na Melhoria Continua.

Em março de2018 migramos com sucesso para a nova versão da ISO 9001.

Somos a única Empresa Brasileira de Engenharia de Laboratórios com
certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
Fabricação e Instalação de Laboratórios.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html  


Mais detalhes sobre a lista de discussão lista