iT邦幫忙

0

使用銀行分行代碼查詢銀行分行名稱方法.......

各位大大好 這篇其實有點文不對題
我有個頁面要顯示用戶的銀行帳戶列表 為了省資源資料庫只存 銀行跟分行的代號
銀行跟分行的資料是打外部API問回來的,假設用戶有10個帳戶,我就要打10次API去問資料,我覺得這樣效能很差。
所以我想把該API所有銀行跟分行資料全部抓回來,用json的格式存在本地要查的時候再把它decode成陣列來搜尋,但是全部的分行資料有4000多筆,感覺也不是很有效率

想問一下各位大大 遇到類似這種情況 大大們都怎麼處理呢? 感謝

0
一級屠豬士
iT邦大師 1 級 ‧ 2020-03-19 16:06:16
最佳解答

https://data.gov.tw/dataset/6041

點檢視資料,會彈出一個對話窗,然後有多種格式(CSV, JSON等).
可以選擇下載. 資料清洗後,然後匯入資料庫就好了.

看更多先前的回應...收起先前的回應...

感謝 大大的分享 不過小弟的問題點不是資料的取得QQ

fillano iT邦超人 1 級 ‧ 2020-03-19 16:36:00 檢舉

不然就存資料庫阿XD

fillano iT邦超人 1 級 ‧ 2020-03-19 16:38:31 檢舉

因為最慢的時間是api查詢跟網路傳輸,所以一定要把資料存到本地。至於本地怎麼實做,就看你。

fillano iT邦超人 1 級 ‧ 2020-03-19 16:40:58 檢舉

如果是一個JSON,那就不要用陣列了。用銀行/分行代碼當作key,資料當作value,就可以快速查到資料。

不過小弟的問題點不是資料的取得QQ
那是什麼問題?

淺水員 iT邦研究生 4 級 ‧ 2020-03-19 16:59:37 檢舉

主要是問效能的問題吧

一級屠豬士 大大 主要是想要問怎麼做比較有效率...
fillano 大大 存資料庫我也有想過 但是這樣也是要查好幾次XD 至於存成json再decode 4000多筆資料只要裡面的幾筆感覺又太浪費記憶體....

你想太多無謂的了.用我跟你講的,拉進來存進資料庫去查.
在大多數情況下,資料庫會比一般的程式有穩定的表現.

淺水員 iT邦研究生 4 級 ‧ 2020-03-19 18:15:21 檢舉

存資料庫,設定好 key ,查詢時用 join 就不用分好幾次查詢。

ckp6250 iT邦研究生 3 級 ‧ 2020-03-19 21:12:01 檢舉

就是資料庫嘛,有什麼好想的?
全國三百多萬筆公司名錄,我都開資料庫存起來用了,
四千筆的銀行代碼算什麼?

fillano iT邦超人 1 級 ‧ 2020-03-20 08:57:37 檢舉

四千多筆很少的,但是放到前端這樣的傳輸成本有點高,所以大家還是會建議放資料庫。這樣只需要傳輸用戶要看的部分。

好的 感謝各位大大的回答 確實存入資料庫再用Join的方式連分行名子一起撈出來 就不用反覆查詢了 小弟受教了

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-03-19 22:13:29

資料庫再加一票

如果你還是在意「存放銀行資料耗費的資源」和「查詢銀行資料的效率」
以下提供解法
保證又快又不會耗費資料庫資源

<?php
$array = array(
    "004" => "臺灣銀行",
    "0040037" => "臺灣銀行營業部",
    "0040059" => "臺灣銀行公庫部"
    ...
);
?>
看更多先前的回應...收起先前的回應...

可以跨session使用嗎??

這個是 server side 使用的
如果硬要在 client side 的話
就寫個 javascript 版本囉
/images/emoticon/emoticon37.gif

KYC iT邦新手 4 級 ‧ 2020-03-19 23:41:11 檢舉

資料庫+1

fillano iT邦超人 1 級 ‧ 2020-03-20 09:59:30 檢舉

資料庫+1

在 iT邦許多「爭議性」的問題中
這題應該是有不必太多討論的標準答案「資料庫」

如果硬要討論的話
討論「網路ATM的轉帳介面裡的銀行/分行下拉選單」怎麼做
可能還比較有點意思
/images/emoticon/emoticon73.gif

哈哈 大大這個方法會先把自己搞死吧..KEY完天都黑了
所以我選擇大家建議的方法存進資料庫裡 感謝大大分享

0
浩瀚星空
iT邦超人 1 級 ‧ 2020-03-20 09:23:51

個人的做法給你參考。當然我也是投資料庫一票。
只是有也有遇過無資料庫可以運用的情況。
我是用json檔儲存。只是我並非是將所有資料存在同一份json檔。
而是依照主銀行代碼為一個json檔。資料存在一起再將對應的分行

所以在前端運行只要去載入對應的json檔就行了。

大大的方法 也是另一種解法 我記起來了 感謝分享

0
kikulu
iT邦研究生 4 級 ‧ 2020-03-26 09:07:07

資料庫是正解

不過進了資料庫 就會有維護問題

html5 localStorage

https://developer.mozilla.org/zh-TW/docs/Web/API/Window/localStorage

我要發表回答

立即登入回答