Wir haben Probleme herauszufinden, warum die Verwendung von SetParameter auf ExecuteUpdate Abfragen im Vergleich zur Verwendung von SetString, setLong langsamer sind.Hibernate SQLQueryImpl setParameter vs setString
SQLQueryImpl query = session.createSQLQuery("update message set status = :status where attempt_id = :attemptId")
Jedes Mal, wenn ich benutze:
query.setParameter("status", Status.DONE)
query.setParameter("attemptId", id)
Es ist fast 10x langsamer löst im Vergleich zur Verwendung:
query.setString("status", Status.DONE.toString())
query.setLong("attemptId", id)
ich überprüfen kann, dass sie ähnliche Abfragen unter generiert:
update message set status = ? where attempt_id = ?
Warum ist se tParameter() langsamer?
Nutzt setString(), setLong() bevorzugt über setParameter() verwendet
Ich dachte, es kommt noch hinzu, eine Schicht, die herausfindet, welche Art fast gleich hinzuzufügen, aber sollte es sein.