繁体   English   中英

从Web服务和mysql查询多个数据的最佳方法?

[英]Best way to query multiple data from webservice and mysql?

我有一个使用java rest api的android应用,该应用从mysql数据库获取数据。

打开应用程序后,我将下载一些项目的列表。 然后,我再次发出5个请求以请求休息api以获取其他已连接的资源,因此:

首先,我下载商店清单。 然后,有了这些商店ID,我发出了5个http请求来请求api,它(从mysql中)获取了照片列表(不是实际图像,只是URL和ID),评级,开放时间和另外2件事

这将进行6次api(和db)调用,并且需要很长时间。 有更好的方法吗?

您可以将多个查询重写为单个JOIN,并在单个网络往返中获取它们。

确保您了解花费的时间以及原因。 如果您的WHERE子句不使用索引,则查询可能会很慢。 运行EXPLAIN PLAN,查看是否正在执行TABLE SCAN。 如果看到一个,则可以通过在WHERE子句中的列上添加适当的索引来立即提高性能。

为什么不在第一次通话中检索所有这些数据? restapi的响应可以是json或xml。

REQUEST: GET /shop/list

RESPONSE XML:
<shops>
  <shop name="shop1" img="../../img1.jpg" ></shop>
  <shop name="shop2" img="../../img2.jpg" ></shop>
  <shop name="shop3" img="../../img3.jpg" ></shop>
</shops>

RESPONSE JSON:
[{name:"shop1",img:"../../img1.jpg"},
{name:"shop2",img:"../../img2.jpg"},
{name:"shop3",img:"../../img3.jpg"}]

您可以在Java / Android应用程序中处理这些响应

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM