PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Detecte e trate quando uma consulta de banco de dados dá errado


Como você já mencionou, é difícil prever quanto tempo uma consulta é executada (devido à própria consulta e seus parâmetros, devido à rede, devido à carga do servidor).

De qualquer forma, você deve mover as consultas SQL para QThreads. Isso permite que seu aplicativo atenda à GUI enquanto as consultas são executadas.

Também não tentaria resolver isso por timeouts. Você terá muitos problemas porque deixará de escolher os tempos limite corretos para cada consulta e cada situação. Em vez disso, forneça uma maneira de cancelar consultas por um botão ou uma caixa de diálogo para que o usuário possa decidir se é sensato continuar esperando ou não.