2012-05-20 33 views
1

我正在創建一個移動遊戲,它會從用戶處獲取單詞,然後驗證它們以查看它們是否是英語詞典中的有效單詞。過去我使用我加載到遊戲本地內存中的字典創建了類似的遊戲。使用SQL數據庫作爲單詞詞典

該方法的問題是我經常需要用新單詞更新字典。由於字典在內存中,添加新單詞需要我完全更新應用程序。如果我將SQL數據庫用作字典,我可以非常容易地添加單詞,而無需更新應用程序,並且必須依賴用戶去下載新的更新。

我的問題是,這種方法有什麼不妥(設計或性能明智)?我之前沒有看到過這樣的事情。另外,我不需要定義。我只需要確保這個詞是一個有效的英語單詞。

如果這是不好的設計,有沒有更好的選擇?或者我只是處理記憶詞典中的問題而已?

回答

1

答案在很大程度上取決於您的應用程序的數據庫開銷。它可能需要很多處理能力和內存才能添加少量功能。

如果您已經在使用基於文件的方法,最簡單的解決方案可能是定期輪詢文件以檢查更新(大小或修改時間)。當找到一個時,將其加載到內存中。

由於數據庫在管理內存和磁盤空間方面做得很好,因此數據庫在數據太大而不適合內存的環境中會很有價值。

2

一個SQL數據庫似乎矯枉過正。你有沒有看過像Berkley DB這樣的關鍵值商店?