JDBI为什么(和多久一次)生成“解释”查询器?

时间:2018-11-06 09:27:57

标签: java jdbi

我有MyDao接口,该接口具有此方法(getByTenantId):

@RegisterRowMapper(MyConfigMapper.class)
public interface MyDao {
  [....]
  @SqlQuery("SELECT * FROM " + PostgresTables.MY_CONFIGS + " WHERE tenant_id = :tenantId")
  @RegisterRowMapper(MyConfigListMapper.class)
  List<MyConfig> getByTenantId(@Bind("tenantId") String tenantId);
}

在调查为什么有时查询缓慢时,我注意到我的应用程序对数据库进行了两个查询:

/* MyDao.getByTenantId */ SELECT * FROM public.my_configs WHERE tenant_id = $1

EXPLAIN (FORMAT JSON) /* MyDao.getByTenantId */ SELECT * FROM public.my_configs WHERE tenant_id = $1

我没想到“解释”。每次都会发行吗? JDBI实际如何工作-我期望它只是发出“ SELECT”查询。

0 个答案:

没有答案