2011-04-21 56 views
0

我正在爲我的大學網站編寫朋友列表和郵件系統的代碼。我需要存儲相互關聯的數據......需要搜索它們......它有大約3500條記錄......所以我進行MYSQL或XML ..是最快的..這是最好的?爲什麼?XML或MYSQL.Which應該用於存儲連接的數據?

+3

取決於數據。提供更多信息:數據的結構,如何連接,哪些「查詢」將被最常用,您是否計劃寫入數據? – 2011-04-21 18:41:58

+0

很確定你不想在一個XML文件中存儲3500條記錄。 – BoltClock 2011-04-21 18:50:03

+0

我們對堆棧溢出中的「最佳」這個詞非常謹慎......你能給出更具體的指標嗎? 「最快」是一個開始,但更特異性會更好。 – Pops 2011-04-21 18:57:23

回答

1

我打算在這裏使用我的教授最喜歡的答案之一:「這取決於」。

XML和MySQL有非常不同的應用程序。如果你需要爲各種複雜的事情進行大量的同時查詢,MySQL是你的明顯贏家。有時MySQL在某些應用程序中很難使用,因爲您必須首先創建一個適合您的數據的數據庫模式。這聽起來像是,你有許多具有相同結構的記錄,並且將它們放到數據庫中會很容易。使用像MySQL這樣基於SQL的數據庫引擎,您還可以使用標準SQL語言構建查詢。數據庫優化還可以幫助提高這些類型查詢的性能,例如,您可以使用索引和鍵。如果您的數據需要定期更新,那麼MySQL可能會提供更好的性能,因爲它不必重寫XML文件。如果你需要你的應用程序擴展到許多複雜查詢的同時連接,那麼你肯定會想用某種SQL解決方案。

儘管取決於您的應用程序,但有時候還有其他方式可以存儲和訪問您的數據。我曾經需要在磁盤上創建一個持久的數據結構,這種結構可以很快被訪問,但從未更新過。爲此,我使用cdb。還有其他數據庫系統,如Berkeley database,以及一些非SQL解決方案,如couchdbmongodb。我在這裏提供了一個有點interesting question這裏在使用無SQL解決方案的一小段時間,你可能會發現有趣的。

這實際上僅僅是您在選擇如何存儲數據時可能想要做出的不同考慮的一個示例。考慮如下問題:多久查詢一次?或更新?你的查詢會是什麼樣子?你需要什麼類型的應用程序來訪問你的信息?等等。