我有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”查询。