我有一個網上購物車,在結帳時用戶輸入他的郵政編碼。用於搜索郵政編碼的文件或數據庫?
有2種付款方式,貨到付款和網上銀行。快遞服務僅發送到某些區域(通過郵政編碼標識)。 COD和Net-Banking允許使用的郵編列表有所不同。 (COD的列表長度約爲2500,後者約爲10,000)
我應該將這些列表存儲在數據庫還是平面文件中?
對於數據庫,我將使用SELECT
查詢,對於文件,我可以讀取數組中的整個(或部分)列表,然後對其進行二進制搜索。
哪一個會更快,考慮到以下幾點 -
- 只有一個快遞服務了,但在未來將會有更多的,與自己有不同的名單。所以我需要在多個列表中進行搜索。
- 主要有讀取,寫入會少得多。此外,列表應該在稍後的時間點進行定製。
我會選擇數據庫,但我不知道它是否會讓事情變得更慢,而且我不想花時間設計數據庫,當一個文件可能會更好。
編輯: 假設有2個快遞公司ABC和DEF。
對於文件我將有4個文件(比如說)ABC_COD.txt,ABC_net.txt,DEF_COD.txt,DEF_net.txt。所以如果客戶去COD,我搜索ABC_COD,如果不在那裏,我搜索DEF_COD等。所以好吧,這似乎是昂貴的,但它也很容易擴展。
現在考慮的數據庫,我將有一個表Allowed_zipcodes
,有五列:郵政編碼(INT/VARCHAR(6)),ABC_COD(布爾),ABC_net(布爾),DEF_COD(布爾),DEF_net(布爾)。如果x公司提供y代碼的鱈魚,則相應的列有true
,否則爲false
。 雖然這看起來不錯,但增加一家公司會涉及模式的變化。
請考慮未來的變化和設計。
您是否已經在您的應用程序中使用數據庫? – duffy356
@ duffy356:是的,我們正在使用Magento框架購物車。 –
郵編範圍如何?例如2003到2199是具有相同交付細節的一個區域..我想你的數據庫模型應該類似於此。 – stUrb