2011-10-26 24 views
1

我知道這個問題並沒有使這個意義上的好。考慮到字段數量,認爲是一個大的sql表

  • 什麼是專業環境中小型,中型和大型表(在數據庫中)的典型列數。

想知道什麼是優秀的設計,我可以增長多大的表格列。表格中的100列或200列是否可以?

+2

什麼被視爲小組中的一小部分,中等和大量人員? (回答:這取決於!) –

+0

一方10小,20中,30是人羣:)我在專業的環境中問。 –

+0

這取決於......一旦我們在規範化的環境中有115個領域。 – NaveenBhat

回答

2

您應該將表格標準化爲至少第三範式(3NF)。這應該是你的主要指導。

4

它完全取決於您正在建模的主題的性質。如果你需要一列,你需要一列;如果你需要500個,那麼你需要500個。設計得恰到好處,你最終的表格大小將永遠是「恰到好處」。

他們有多大都可以,什麼表現良好,如果你需要什麼更多的列比你身體的東西到SQL ......這些都實現,維護和/或性能的問題,這是一個不同的,二次主題。首先獲得模型,然後擔心實施。

+0

所以在我的情況下,數據基本上在一個表中,並且不依賴於其他數據,這意味着我可以只增加我的表列以適應更多的更改。沒有這樣的東西哦! 300列!,這是不好的! –

+0

大家都是批評家。我看到一個100多列的專欄,我的第一反應可能是「他們顯然不知道他們在做什麼」。我第二次接受(現在,經過多年的學習,我經常犯錯的錯誤比我承認的要多)「但是,嘿,我不知道他們在做什麼,我會在以前找到更多信息我大聲說出來。「 –

0

您應該考慮行大小。 100個稀疏列與100個varchar(3000)列不同。當您開始超過SQL Server可以存儲在一個頁面上的記錄大小時,創建相關表(具有強制關係1-1)幾乎總是更好。

您還應該考慮如何查詢數據。這些領域中有很多是不經常需要退貨的嗎?他們是否擁有自然分組(認爲一個人記錄了用戶登錄記錄)並且這種自然分組是否會決定他們將如何被查詢?在這種情況下,將它們分開可能會更好。

當然,你應該考慮正常化。如果您正在執行多列以避免存在一對多關係和聯接,那麼即使您只有6列,也不應該這樣做。除了一般的數據倉庫情況外,連接(使用索引的鍵字段)優於非規格化表。如果您不需要添加新列,則會更好,因爲您需要存儲新的電話類型。

3

那麼,對於SQL Server 2005,根據Max Capacity Specifications,每個基表的最大列數是1024.所以這是一個硬性上限。

相關問題