Hallo,
ich habe eine Frage zu prepared statements: Und zwar sehe ich im MySQL-Logfile bei den Queries, dass dasselbe Query mehrere Male prepared wird:
Code:
13 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
13 Prepare [266] select rechnung0_.id as id10_, rechnung0_.id_lieferant as id2_10_, rechnung0_.rechnungsnummer as rechnung3_10_, rechnung0_.id_zahlungsbedingung as id4_10_, rechnung0_.eingangsdatum as eingangs5_10_, rechnung0_.buchungsperiode as buchungs6_10_, rechnung0_.rechnungsdatum as rechnung7_10_, rechnung0_.belegnummer as belegnum8_10_, rechnung0_.status as status10_, rechnung0_.bemerkung as bemerkung10_, rechnung0_.buchungsdatum_timestamp as buchung11_10_, rechnung0_.buchungsdatum_user_benutzername as buchung12_10_, rechnung0_.zahlungsdatum_timestamp as zahlung13_10_, rechnung0_.zahlungsdatum_user_benutzername as zahlung14_10_, rechnung0_.genehmigungsdatum_timestamp as genehmi15_10_, rechnung0_.genehmigungsdatum_user_benutzername as genehmi16_10_, rechnung0_.timestamp as timestamp10_, rechnung0_.user_benutzername as user18_10_, rechnung0_.anlagezeitpunkt_timestamp as anlagez19_10_, rechnung0_.anlagezeitpunkt_user_benutzername as anlagez20_10_, rechnung0_.zahlungsart as zahlung21_10_, rechnung0_.rabatt as rabatt10_, rechnung0_.gezahlterBetrag as gezahlt23_10_, rechnung0_.skontoWurdeGezogen as skontoW24_10_, rechnung0_.immerSkontoZiehen as immerSk25_10_, rechnung0_.faelligAm as faelligAm10_, rechnung0_.mindermengenzuschlag as minderm27_10_, rechnung0_.id_mwst_mindermengenzuschlag as id28_10_, rechnung0_.buchungstext as buchung29_10_ from tb_rechnungen rechnung0_ where rechnung0_.status=?
13 Execute [266] select rechnung0_.id as id10_, rechnung0_.id_lieferant as id2_10_, rechnung0_.rechnungsnummer as rechnung3_10_, rechnung0_.id_zahlungsbedingung as id4_10_, rechnung0_.eingangsdatum as eingangs5_10_, rechnung0_.buchungsperiode as buchungs6_10_, rechnung0_.rechnungsdatum as rechnung7_10_, rechnung0_.belegnummer as belegnum8_10_, rechnung0_.status as status10_, rechnung0_.bemerkung as bemerkung10_, rechnung0_.buchungsdatum_timestamp as buchung11_10_, rechnung0_.buchungsdatum_user_benutzername as buchung12_10_, rechnung0_.zahlungsdatum_timestamp as zahlung13_10_, rechnung0_.zahlungsdatum_user_benutzername as zahlung14_10_, rechnung0_.genehmigungsdatum_timestamp as genehmi15_10_, rechnung0_.genehmigungsdatum_user_benutzername as genehmi16_10_, rechnung0_.timestamp as timestamp10_, rechnung0_.user_benutzername as user18_10_, rechnung0_.anlagezeitpunkt_timestamp as anlagez19_10_, rechnung0_.anlagezeitpunkt_user_benutzername as anlagez20_10_, rechnung0_.zahlungsart as zahlung21_10_, rechnung0_.rabatt as rabatt10_, rechnung0_.gezahlterBetrag as gezahlt23_10_, rechnung0_.skontoWurdeGezogen as skontoW24_10_, rechnung0_.immerSkontoZiehen as immerSk25_10_, rechnung0_.faelligAm as faelligAm10_, rechnung0_.mindermengenzuschlag as minderm27_10_, rechnung0_.id_mwst_mindermengenzuschlag as id28_10_, rechnung0_.buchungstext as buchung29_10_ from tb_rechnungen rechnung0_ where rechnung0_.status=2
13 Query commit
13 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
13 Prepare [267] select rechnung0_.id as id10_, rechnung0_.id_lieferant as id2_10_, rechnung0_.rechnungsnummer as rechnung3_10_, rechnung0_.id_zahlungsbedingung as id4_10_, rechnung0_.eingangsdatum as eingangs5_10_, rechnung0_.buchungsperiode as buchungs6_10_, rechnung0_.rechnungsdatum as rechnung7_10_, rechnung0_.belegnummer as belegnum8_10_, rechnung0_.status as status10_, rechnung0_.bemerkung as bemerkung10_, rechnung0_.buchungsdatum_timestamp as buchung11_10_, rechnung0_.buchungsdatum_user_benutzername as buchung12_10_, rechnung0_.zahlungsdatum_timestamp as zahlung13_10_, rechnung0_.zahlungsdatum_user_benutzername as zahlung14_10_, rechnung0_.genehmigungsdatum_timestamp as genehmi15_10_, rechnung0_.genehmigungsdatum_user_benutzername as genehmi16_10_, rechnung0_.timestamp as timestamp10_, rechnung0_.user_benutzername as user18_10_, rechnung0_.anlagezeitpunkt_timestamp as anlagez19_10_, rechnung0_.anlagezeitpunkt_user_benutzername as anlagez20_10_, rechnung0_.zahlungsart as zahlung21_10_, rechnung0_.rabatt as rabatt10_, rechnung0_.gezahlterBetrag as gezahlt23_10_, rechnung0_.skontoWurdeGezogen as skontoW24_10_, rechnung0_.immerSkontoZiehen as immerSk25_10_, rechnung0_.faelligAm as faelligAm10_, rechnung0_.mindermengenzuschlag as minderm27_10_, rechnung0_.id_mwst_mindermengenzuschlag as id28_10_, rechnung0_.buchungstext as buchung29_10_ from tb_rechnungen rechnung0_ where rechnung0_.status=?
13 Execute [267] select rechnung0_.id as id10_, rechnung0_.id_lieferant as id2_10_, rechnung0_.rechnungsnummer as rechnung3_10_, rechnung0_.id_zahlungsbedingung as id4_10_, rechnung0_.eingangsdatum as eingangs5_10_, rechnung0_.buchungsperiode as buchungs6_10_, rechnung0_.rechnungsdatum as rechnung7_10_, rechnung0_.belegnummer as belegnum8_10_, rechnung0_.status as status10_, rechnung0_.bemerkung as bemerkung10_, rechnung0_.buchungsdatum_timestamp as buchung11_10_, rechnung0_.buchungsdatum_user_benutzername as buchung12_10_, rechnung0_.zahlungsdatum_timestamp as zahlung13_10_, rechnung0_.zahlungsdatum_user_benutzername as zahlung14_10_, rechnung0_.genehmigungsdatum_timestamp as genehmi15_10_, rechnung0_.genehmigungsdatum_user_benutzername as genehmi16_10_, rechnung0_.timestamp as timestamp10_, rechnung0_.user_benutzername as user18_10_, rechnung0_.anlagezeitpunkt_timestamp as anlagez19_10_, rechnung0_.anlagezeitpunkt_user_benutzername as anlagez20_10_, rechnung0_.zahlungsart as zahlung21_10_, rechnung0_.rabatt as rabatt10_, rechnung0_.gezahlterBetrag as gezahlt23_10_, rechnung0_.skontoWurdeGezogen as skontoW24_10_, rechnung0_.immerSkontoZiehen as immerSk25_10_, rechnung0_.faelligAm as faelligAm10_, rechnung0_.mindermengenzuschlag as minderm27_10_, rechnung0_.id_mwst_mindermengenzuschlag as id28_10_, rechnung0_.buchungstext as buchung29_10_ from tb_rechnungen rechnung0_ where rechnung0_.status=3
13 Query commit
Das kann und sollte eigentlich nicht sein, oder? Kann ich Hibernate oder JDBC irgendwo sagen, dass er prepared statements cachen soll und damit er sie nicht immer wieder neu erstellt?
thx
phoku