2017-02-14 2 views
0

Ich habe eine wirklich einfache Abfrage, um alle Zeilen aus einer Tabelle auszuwählen. Im Winterschlaf dauert es immer ca. 17-18 Sekunden. Ich habe angegeben, show_sql um wahr zu sein. Ich kopierte den SQL-Befehl direkt an mysql und es dauerte 0,00022 Sekunden ...SQL Abfrage sehr langsam in Hibernate, schnell auf MySQL

dies die Abfrage:

SELECT 
    organizati0_.id AS id1_5_, 
    organizati0_.adminList AS adminLis2_5_, 
    organizati0_.demoAccount AS demoAcco3_5_, 
    organizati0_.disabled AS disabled4_5_, 
    organizati0_.enduserCredits AS enduserC5_5_, 
    organizati0_.name AS name6_5_, 
    organizati0_.pushNotificationRoom AS pushNoti7_5_, 
    organizati0_.totalLicenses AS totalLic8_5_, 
    organizati0_.usedLicenses AS usedLice9_5_ 
FROM 
    organization organizati0_ 

Dies ist der Code für die Abfrage:

Session session = ThreadSessionHolder.getThreadSession(); 
Query query = session.createQuery("from Organization "); 
List list = query.list(); 
return list; 

irgendwelche Ideen? das macht mich verrückt

+1

Auswahl Es ist wahrscheinlicher, das Abrufen von Daten vom Server und die Schaffung von Java werden, um Objekte auf Fehler hier das. Beachten Sie, dass Sie die gesamte Tabelle ziehen – e4c5

+0

Gibt es Assoziationen in der Organisationseinheit? Könnte es sein, dass einige von ihnen eifrig sind? Wie viele Datensätze gibt es? –

+0

Wenn Sie die Abfrage auf MySql immer schnell machen, denken Sie über jede Erstellung eines Organisationsobjekts nach, wenn Sie Hibernate bitten, die gesamte Tabelle zurückzugeben. Sie können Ihre Organisationstabelle einfügen und sehen, ob wir sie leistungsfähiger machen können. Wenn Sie beispielsweise Beziehungen haben, können Sie sie als faul stellen und Ihr Organisationsobjekt wäre leichter. – mvlaicevich

Antwort

0

Ich habe das Problem gefunden.

Ich war eine Initialisierungsoperation im Konstruktor ausführt, die getan werden sollte, nicht, wenn alle

Verwandte Themen