[英]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.