回答
取決於兩個因素:
1)的標籤量/標籤記錄
2)無論你有:-)
正常化宗教觀點,除非處理非常大量數據,我建議有一個'標籤'表格將varchar值映射到整數標識符,然後將第二個表格將標記記錄映射到它們的標記ID。我建議先實施,然後檢查它是否不符合您的性能需求。在這種情況下,使用標記行的id和標記的實際文本來保存單個表,但在此我建議您使用char列,因爲如果優化程序執行全表掃描,它將會終止您的查詢一個帶有varchar列的大表。
同意,那麼你可以輕鬆地重命名標籤。 – 2008-09-28 04:40:27
使用NVARCHAR或NCHAR列支持unicode,否則您只想在標籤中支持ASCII章程。 – Horcrux7 2008-09-28 13:53:15
不,在單個字段中放置多個數據通常是一個壞主意。相反,使用一個單獨的標籤表(可能只有一個TagID和TagName),然後,對於每條記錄,指示與其關聯的TagID。如果一條記錄與多個標籤相關聯,則只會有重複的記錄,唯一的區別是TagID。
這裏的好處是,您可以通過標記,記錄和分開維護標記表(即,如果標記名稱更改?)輕鬆查詢。
您也不希望重複記錄,在這種情況下,您需要一個將TagIds與TagIds匹配到RecordIds的TagRecord表。 – 2009-03-15 22:58:49
鏈接不可用的兄弟! – 2014-07-11 11:24:43
使用標籤表允許的最小的主鍵。如果少於255個標籤使用一個字節(tinyint)或者一個字(smallint)。鍵越小,主表中外鍵的索引越小,速度越快。
- 1. 在SQL Server中分區大表的最佳方法是什麼?
- 2. 在SQL Server中以XML格式存儲數據的最佳方法是什麼?
- 3. 確定SQL Server中是否存在臨時表的最佳方法是什麼?
- 4. 什麼是將此存儲在NSDictionary中的最佳方法?
- 5. 在sql server中保存視頻的最佳方式是什麼?
- 6. 在SQL Server中截斷日期的最佳方法是什麼?
- 7. 在SQL中存儲聖經的最佳方式是什麼?
- 8. 在SQL Server 2005/2008中存儲歷史數據的最佳方式是什麼?
- 9. 存儲徽章標準的最佳方法是什麼?
- 10. 在Bundle中存儲SparseBooleanArray的最佳方法是什麼?
- 11. 在數據庫中存儲IP的最佳方法是什麼?
- 12. 在j2me中存儲設置的最佳方法是什麼?
- 13. 在C++中標記字符串的最佳方法是什麼?
- 14. 什麼是在數據庫中存儲大量標記的最佳方式?
- 15. 在SQL Server中存儲大型數據集的最佳方法?
- 16. 在SQL Server中存儲舊日期的最佳方法
- 17. 在SQL Server中存儲人名的最佳方法
- 18. 用C++存儲表格的最佳方法是什麼?
- 19. 存儲表格視圖元素的最佳方法是什麼?
- 20. 什麼是檢查SQL Server 2005存儲過程中是否存在文件的最佳方法?
- 21. 將RegEx嵌入到Oracle或SQL Server 2005 SQL中的最佳方法是什麼?
- 22. 將丹麥語字母存儲在SQL Server數據庫中的最佳方法是什麼?
- 23. 在sql server 2012上插入15.000記錄的最佳方法是什麼?
- 24. 在SQL中存儲數千個數字的最佳方法是什麼?
- 25. 將DateTime存儲到Cookie中的最佳方式是什麼?
- 26. 在SQL Server 2008中加密SSN的最佳方式是什麼?
- 27. 來自SQL Server 2005存儲過程的FTP的最佳做法是什麼?
- 28. 將數據導入SQL Server Express的最佳方式是什麼?
- 29. 什麼是在SQL Server中存儲博文的最佳數據類型?
- 30. 什麼是更新SQL Server CE表的最佳方式?
https://elliot.silvrback.com/handling-tags-in-a-sql-database – 2015-12-24 00:11:46