簡體   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