0

我正在使用 Hibernate,我有这张表:

表 my_entity:

ID_ENTITY        int(10) unsigned PK
ID_ENTITY_TYPE   int(10) unsigned
NAME             varchar(256)
SYNONYM          varchar(32)
KEY `INDEX_synonym` (`SYNONYM`)

我在这张表中有 180.000 行。

当我执行查询时,它需要几秒钟。

 query = session.createQuery("from Entity c Where synonym = :synonym");
 query.setParameter(":synonym", MYKEY);     
 lst = query.list();  

如何指示 Hibernate 使用索引?

4

1 回答 1

3

除了生成 SQL 查询并执行它之外,Hibernate 不做任何事情。打开登录以查看它执行的查询。确保这个查询看起来像你想要的。使用您的数据库来分析执行计划并确保有必要的索引。

180,000 行对于一个像样的数据库来说不算什么。除非您的查询加载了大量具有大量急切获取的关联的实体,否则此查询应该在几毫秒内执行。

于 2012-05-16T12:22:14.343 回答