我知道我的問題看起來有點模糊,但我覺得管理國家/地址實際上是很常見的事情,所以我想在我的實際設置上得到一些建議。如何管理數據庫中的國家
我有一個數據庫與「國家」一欄,以前是一箇中等的int類型,作爲外鍵到另一個表與有關國家(ID,姓名和ISO3166-1α-2碼爲主)的實際信息。
經過一些測試和基準測試之後,我最終將所有國家/地區的信息都放在了php文件數組中,而不是在需要時包括/需要它,它比查詢數據庫快一到兩個數量級。 (他們是278個國家)。
所以顯然這是一個更好的方法,但我覺得有什麼不對勁,因爲人們通常傾向於從表格中讀取這種東西,而不是從文件中讀取,但我無法弄清楚它會是什麼,是它嗎?更容易維護或類似的東西?
此外,我正在考慮將2個字母的ISO代碼作爲關鍵字而不是數字ID,它會更具人性化,無論如何它們都是唯一的。我在400.000行表中看不到明顯的性能損失,如果我的數據庫增長,最終會出現錯誤嗎?
你是如何查詢數據庫的國家表 - 有一個加入選擇,或兩個單獨的選擇?你在外鍵列上使用索引了嗎? –
並且您是否爲國家/地區表設置了主鍵?您是否在每個1000循環中需要PHP國家/地區文件,或者需要一次,然後在同一個PHP處理器調用期間創建1000個短循環? –
是的列被索引,實際上它既不是一個連接也不是兩個選擇。我用它作爲WHERE子句中的條件,如下所示:'SELECT * FROM table where country = 253',即使如此也需要更快的文件。我需要一次文件然後循環播放。 – aleation