Java 使用getResultList()检索查询结果花费的时间太长
我有一个如下形式的问题Java 使用getResultList()检索查询结果花费的时间太长,java,list,entitymanager,Java,List,Entitymanager,我有一个如下形式的问题 Query query = getEm().createNativeQuery("SELECT i.claimid, i.attachmentfilename, i.invoiceid, i.invoicedate, i.invoicenumber, " + "i.invoicetypeid, i.dealerinvoicenumber, i.bdxid, i.capturedate, i.paid, i.paymentdate "
Query query = getEm().createNativeQuery("SELECT i.claimid, i.attachmentfilename, i.invoiceid, i.invoicedate, i.invoicenumber, "
+ "i.invoicetypeid, i.dealerinvoicenumber, i.bdxid, i.capturedate, i.paid, i.paymentdate "
+ "FROM invoice i WHERE i.claimid = "+claimId
+ " AND i.invoicetypeid = 2 order by i.invoicedate DESC LIMIT 1", Invoice.class);
logger.info(claimId+"=starting..");
List<Invoice> invoices = query.getResultList();
logger.info(claimId+"=ending..");
Query Query=getEm().createNativeQuery(“选择i.claimid、i.attachmentfilename、i.invoiceid、i.invoicedate、i.invoicenumber,”
+i.invoicetypeid,i.dealerinvoicenumber,i.bdxid,i.capturedate,i.paymentdate
+“来自发票i,其中i.claimid=“+claimid
+“和i.invoicetypeid=2订单按i.invoicedate描述限额1”,Invoice.class);
logger.info(claimId+“=开始…);
列表发票=query.getResultList();
logger.info(claimId+“=结束..”);
问题是,一旦它打印出“开始…”,它会挂起长达10分钟,只会拉1或2个结果。一个或两个记录怎么会花这么长时间
发票和索赔之间存在一对一的关系,但它仅从发票中定义
有人能解释为什么这一行要花这么长时间吗?什么是与发票表相关联的所有索引?此表中有多少行?通过SQL management studio执行查询时会发生什么情况?还需要时间吗?你在使用什么数据库?@Stavm-当我在psql或pg_admin中执行查询时,它运行得非常快,22milliseconds@niceman-am使用postgresql数据库