sql >> Databasteknik >  >> RDS >> PostgreSQL

Upptäck och hantera när en databasfråga går fel

Som du redan nämnt är det svårt att förutsäga hur länge en fråga körs (på grund av själva frågan och dess parametrar, på grund av nätverk, på grund av serverbelastning).

Hur som helst bör du flytta SQL-frågorna till QThreads. Detta gör att din applikation kan betjäna GUI medan frågorna körs.

Jag skulle inte heller försöka lösa detta med timeouts. Du kommer att hamna i mycket problem eftersom du kommer att misslyckas med att välja rätt timeouts för varje fråga och varje situation. Ge istället ett sätt att avbryta frågor med en knapp eller en dialogruta så att användaren kan bestämma om det är klokt att fortsätta vänta eller inte.



  1. Är detta ett säkert sätt att konvertera MySQL-tabeller från latin1 till utf-8?

  2. BEGIN/END och CREATE tabell i en .sql-fil

  3. mysql_escape_string sårbarheter

  4. VÄLJA data från lagrade procedurer