2017-02-14 2 views
0

私はテーブルからすべての行を選択するための非常に単純なクエリを持っています。休止状態では、常に約17〜18秒かかります。私はshow_sqlを真と指定しました。SQLクエリはHibernateで非常に遅く、mysqlで高速です

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_ 

これは、クエリのコードです:

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

任意のアイデアこれはクエリです

...私が直接MySQLへのSQLコマンドをコピーし、それが0.00022秒かかりましたか?これはナッツを動かしています

+1

を選択する際に行うべきではありませんコンストラクタで初期化動作を実行していました。テーブル全体を引っ張っていることに注意してください。 – e4c5

+0

組織エンティティに関連がありますか?彼らのうちのいくつかが熱望しているだろうか?レコード数は? –

+0

MySqlのクエリが常に高速になるようにする場合は、テーブル全体を返すようにhibernateに依頼するときに、各Organizationオブジェクトの作成について考えてください。あなたはあなたの組織テーブルを置くことができますし、我々はそれがより良い演奏をすることができますかどうかを参照してくださいいくつかの関係を持っているように、あなたは怠け者と組織オブジェクトを軽くすることができます。 – mvlaicevich

答えて

0

私は問題を発見しました。

私はそれは、サーバーおよび障害で、ここでJavaオブジェクトを作成からデータ検索である可能性が高いですすべて

関連する問題