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