將具有大約100列的大型表拆分爲2個獨立表是否有任何性能優勢?這將在插入,刪除和選擇任務方面?我使用的是SQL Server 2008的一張大桌子還是分成兩個小桌子?
回答
如果字段之一是CLOB或BLOB 和你預計它拿着一個巨大的數據量和您將不再需要那場經常和結果集將在很長的管道傳輸(如服務器到基於Web的客戶端),那麼我認爲將該字段放在單獨的表中將是適當的。
但就返回100個常規領域可能會不含稅你的系統這麼多,以證明一個單獨的表和聯接。
我會說不,因爲這將需要更多的執行時間加入2個表,只要你想幹的事。
你可能會看到唯一的好處是,如果只是偶爾填充的列數。在這種情況下,將這些放入他們自己的表中,並且只在存在數據時添加一行可能對整體行開銷有意義,並且根據行數,表格的總頁數。這就是說,這是他們在SQL Server 2008中
介紹sparse columns爲維護和管理兩個表,而不是一個(尤其是考慮到人們可以對單個錶行事,如果他們選擇)的其它開銷的原因之一,它是這不太可能是值得的。
你能描述什麼類型的實體需要超過100列嗎?也許數據模型首先是錯誤的。
數據模型是通話記錄,所以很多非常小的領域進行各種檢查等 –
而且這些檢查是否可以無效,或所有100 +檢查總是有一個值?它們都是「BIT」列還是「TINYINT」或更大? –
其中有很多都是空的。主要是位,int,smallint和幾個nvarchar,用於很好的衡量:) –
如果您在應用程序中同時使用這些字段,則取決於您的應用程序。
這樣的性能改進是非常糟糕:你讓你的源代碼無法理解。如果您在此表中遇到性能問題,請添加一些內容(如包含將在通過觸發器更新的請求中使用的15個字段的表),請勿修改乾淨的解決方案。
如果沒有性能問題,不要做任何事情,你會在後面看到!
- 1. 數據庫結構 - 兩張桌子還是一張桌子?
- 2. 多張桌子還是一個大桌子?
- 3. 在MYSQL中,最好是有一張大桌子還是很多小桌子
- 4. 不斷插入和更新。有一張巨大的桌子還是兩張較小的桌子是更好的
- 5. 什麼是最好的:幾張桌子還是一個很大的桌子?
- 6. 把兩張桌子和一個鏈接表變成一張大桌
- 7. 什麼更好 - 許多小桌子或一張大桌子?
- 8. 一張大桌子或許多小桌子
- 9. 有一張大桌子還是應該用幾張?
- 10. 滾動一張大桌子
- 11. 一張桌子還是兩張桌子來存放論壇的帖子和帖子?
- 12. 並排擺放兩張桌子 - 右對齊一張桌子
- 13. 打破一張桌子進入幾張小桌子
- 14. 一張桌子可以成爲兩個父母桌子的孩子嗎
- 15. MySQL:數百張桌子或一張大桌子?
- 16. 並排顯示一張桌子,一個iframe和一張桌子
- 17. 合併兩張桌子還是保持分開?
- 18. 另一張桌子裏面的桌子?
- 19. 從兩張不同大小的桌子創建一張大桌子最簡單的方法
- 20. 有一張桌子
- 21. 數據庫設計:一個大桌子與幾個小桌子
- 22. 巨大的桌子或小桌子
- 23. 一張大桌子還是打破了? (最佳數據庫)
- 24. 帶兩張桌子的Vlookup
- 25. 左兩張桌子加入
- 26. 並排兩張桌子
- 27. HTML - 兩張桌子並排
- 28. 兩張桌子,兩個獨特的ID?
- 29. 兩張桌子加入兩個結果
- 30. 保證孩子記錄在一張桌子或另一張桌子上,但不是兩個?
對不起,這只是一個普遍的問題?正如你可以看到幾個人已經回答了! –
雖然有幾個人*已經回答了,但很高興看到您的大表格的一些示例數據/模式(我相信這是@Johan所掌握的)。只是爲了確保人們可以給你**最具體的**問題最準確/相關的答案。 – jadarnel27
是的,我明白了,答案在很大程度上是無用的,因爲這些東西高度依賴於你的情況。因此,答案必須猜測並假設並在'if ... then'中回答,'假設......這可能有助於',否'。所有這些都可能與您的餐桌無關。 100列是最重要的順便說一句,你需要正常化。 – Johan