Hallo zusammen,
ich hab da mal ein Problem...
Ich muss in eine Datenbank mehrere neue Zeilen schreiben, allerdings nur, wenn der Datensatz nicht schon existiert.
Um zu prüfen ob der Datensatz existiert benutze ich zur Zeit diese Query:
Daraus mach ich ein Preparedstatement und benutze die Query jedesmal wieder für meinen Test, aber mit anderen Parametern.
Funzt auch alles, nur is der Test auf "Vorhandensein" der Teil, der am meisten Zeit benötigt.
Die Zeit gaht drauf, wenn ich das Resultset öffne bzw. wenn ich auf den ersten Datensatz springe:
Wenn hasNext true ist, weiß ich dass der Datensatz schon vorhanden ist. Nur dauert mir das zu lange. Hat Jemand einen Tipp, wie ich das schneller hinbekomme?
Es muss immer nur ein Wert in einer Spalte verglichen werden.
ich hab da mal ein Problem...
Ich muss in eine Datenbank mehrere neue Zeilen schreiben, allerdings nur, wenn der Datensatz nicht schon existiert.
Um zu prüfen ob der Datensatz existiert benutze ich zur Zeit diese Query:
Java:
String query = "SELECT FIRST 1 " + columnName + " FROM " + tableName + " WHERE " + columnName + "=?";
Daraus mach ich ein Preparedstatement und benutze die Query jedesmal wieder für meinen Test, aber mit anderen Parametern.
Funzt auch alles, nur is der Test auf "Vorhandensein" der Teil, der am meisten Zeit benötigt.
Die Zeit gaht drauf, wenn ich das Resultset öffne bzw. wenn ich auf den ersten Datensatz springe:
Java:
rs = stmt.executeQuery();
boolean hasNext = rs.next(); //<---- hier
Wenn hasNext true ist, weiß ich dass der Datensatz schon vorhanden ist. Nur dauert mir das zu lange. Hat Jemand einen Tipp, wie ich das schneller hinbekomme?
Es muss immer nur ein Wert in einer Spalte verglichen werden.