2013-01-12 42 views
3

我建立一個web應用程序,我希望把它從一開始就規模hundrets。我對數據庫可擴展性不是很瞭解,並且我正面臨着這樣的疑惑:MySQL的:更好的幾桌數以百萬計表中的行或數以千計的行

我應該使用幾行數百萬行的表或者如果不是成千上萬的錶行。

我可以去都擊潰,但我不知道哪一個會擴大,從長遠來看更好。

我發現這個胎面一些信息,但它沒有幫助很大:MySQL Whats better for speed one table with millions of rows or managing multiple tables?

基本上我需要知道,這是更好的縱向或橫向擴展數據庫?

+2

百萬行是不是一個很大的數字,所以可維護性原因,最好有剛夠表來滿足您的業務需求。 – Bulat

+0

這完全取決於具體情況。它取決於架構和查詢模式以及您願意花費的開發時間。 – usr

+0

它也取決於每一行的大小和一次涉及的表的數量 – Sebas

回答

4

數據庫會給響應速度不夠快,如果查詢是調整好,有可能是在速度與查詢非常小的調整神奇的變化。

但是,您不想在數據庫中進行演講。對你的問題:這裏最重要的是實現規範化形式。

你的表應該是易於管理和redundancy - 免費。爲避免冗餘,您需要儘可能多地使用normalize表格。標準化的形式是高達6NF,但我認爲Boyce–Codd normal form應該夠了,如果你沒有在該地區的經驗。

2

說得好Ismet。但是,在處理網絡時,有時人們會有某些「聚合」或其他總數,他們希望跟蹤並可能會耗費一些時間。

如果您可能有這樣的類別,那麼根據需要爲這些條目「粘貼」一些額外的列可能是一個很好的考慮因素。然後,當記錄添加到任何表中時,可以運行插入/更新觸發器來更新這些值,而不必顯式重新運行從數百萬條記錄中提取的完整查詢,併爲您提供性能優化。