[請益] 手機使用 Web Services API
各位前輩你們好
不好意思
因此版業界高手較多
將程式問題 po此版了
如有不適 我在刪除
正文:
小弟轉換跑道
過去沒有 app 開發經歷
資料經過正規化
有非常多的表格
連線 API (由我製作) 想到以下四種方式
不知道哪種才是較『好』的作法
---------------------------------
1. 使用資料庫合併查詢 api
用 index 取得所需資料
2. 資料庫 不合併查詢
用 n 個 ArrayList 存取 n 個資料表
再於 client 執行迴圈 對應 主鍵、外來鍵
3. 資料不合併查詢
需要什麼資料 再各別連線 api 單筆查詢
4. 資料 不合併查詢
於 Server 端 整理成多維陣列
Client 可只接使用 index存取資料
---------------------------------
1 的問題是 資料有相當的多值情形
非常浪費空間 但是時間複雜度低
2 的問題是 雖可大大省下記憶體
但時間複雜度較高
當資料量一大 怕會有效能上的問題
3 算是折衷
但就我所知 手機做為 Client 端時
應大量減少 request 次數 ?
4 是我過去較長使用之作法
不會有 1 的浪費空間問題
也不會有 2 的效能問題
---------------------------------
想請問
我這樣的觀念正確嘛?
是否依然採用 第4種方法呢?
還是有更佳的方案?
不好意思 麻煩了
謝謝 ^^"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.25.29
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1471404885.A.7A4.html
推
08/17 11:38, , 1F
08/17 11:38, 1F
大大您好, 請問您說的是
避免資料重新下載的 File Cache嘛?
這一塊的話 我已經有做了喔
比較想探討的是 資料讀取的作法 :)
謝謝您
※ 編輯: aws9527 (42.73.25.29), 08/17/2016 11:46:47
推
08/17 11:52, , 2F
08/17 11:52, 2F
→
08/17 11:53, , 3F
08/17 11:53, 3F
推
08/17 11:53, , 4F
08/17 11:53, 4F
!! 謝謝樓上兩位前輩
以空間換取時間的作法果然比較常見??
那第 4種方法
相較於 1
有什麼問題嘛?
我以為無懈可擊 :'(
有哪位高手
可以幫我排名 方法優劣嘛 感激><
→
08/17 11:56, , 5F
08/17 11:56, 5F
→
08/17 11:57, , 6F
08/17 11:57, 6F
好的! 謝謝前輩提醒
我會謹慎製作 api
而非 「API」 對應「單資料表」
謝謝您 :)
※ 編輯: aws9527 (42.73.25.29), 08/17/2016 12:05:24
→
08/17 12:16, , 7F
08/17 12:16, 7F
我知道
因此才特別說明沒有手機開發經驗 哈哈
對於 手機 memory 不熟
以往的這種作法
不知是否會有 oom的問題
※ 編輯: aws9527 (42.73.25.29), 08/17/2016 12:28:56
→
08/17 13:24, , 8F
08/17 13:24, 8F
資料庫 是放在雲端 Server上喔
我指的是手機
用來存取查詢結果的 memory
可能是ArrayList 或其他資料型態
※ 編輯: aws9527 (42.73.25.29), 08/17/2016 13:57:34
推
08/17 17:28, , 9F
08/17 17:28, 9F
→
08/17 17:28, , 10F
08/17 17:28, 10F
→
08/17 17:29, , 11F
08/17 17:29, 11F
好的! 我會乖乖用 join 哈哈
謝謝大大!
※ 編輯: aws9527 (42.73.25.29), 08/17/2016 18:02:58
推
08/18 01:15, , 12F
08/18 01:15, 12F
→
08/18 01:18, , 13F
08/18 01:18, 13F
→
08/18 01:20, , 14F
08/18 01:20, 14F
謝謝大大! @@ sql 我普普
但沒考慮過用迴圈啦 哈哈
只是舉出這種方法
只是想知道 不合併查詢
是否有更佳解
推
08/18 04:11, , 15F
08/18 04:11, 15F
謝謝! 覺得這是好作法
推
08/18 09:49, , 16F
08/18 09:49, 16F
瞭解 謝謝啦
※ 編輯: aws9527 (42.73.25.29), 08/18/2016 12:14:34
→
08/21 16:04, , 17F
08/21 16:04, 17F