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秒かかりましたか?これはナッツを動かしています
を選択する際に行うべきではありませんコンストラクタで初期化動作を実行していました。テーブル全体を引っ張っていることに注意してください。 – e4c5
組織エンティティに関連がありますか?彼らのうちのいくつかが熱望しているだろうか?レコード数は? –
MySqlのクエリが常に高速になるようにする場合は、テーブル全体を返すようにhibernateに依頼するときに、各Organizationオブジェクトの作成について考えてください。あなたはあなたの組織テーブルを置くことができますし、我々はそれがより良い演奏をすることができますかどうかを参照してくださいいくつかの関係を持っているように、あなたは怠け者と組織オブジェクトを軽くすることができます。 – mvlaicevich