Varchar

在大型 VARCHAR 欄位中儲存 NULL 值

  • March 2, 2012

我有一張代表“筆記”的表格。該筆記包含標題和各種其他元數據之類的內容。但是,我正在嘗試找出儲存筆記內容的最佳實踐。

目前,我的策略是讓便箋的內容為 VARCHAR(10000),如果沒有內容,則只儲存 NULL 值。但是,我不確定這樣做是否正確,或者這是否會導致性能或儲存問題。

我對建構數據庫非常陌生 - 我是否以正確的方式進行?

對我來說,沒有內容的筆記聽起來像是一個毫無意義的對象。我會通過在註釋表中沒有這樣的元組來建模!

ps註釋title是一個屬性。title元數據(“關於數據的數據”)的一個範例是最近更新筆記屬性的日期。

根據您選擇的數據庫,VARCHAR(10000) 可能不是儲存數據的最佳方式。您可能會佔用大量磁碟空間,具體取決於您的數據庫如何實現 VARCHAR 的儲存。一些數據庫對大型 VARCHAR 的索引也很糟糕。

我們公司所做的是為消息或文本設置一個 ID,然後設置一個計數器(從 1 開始,每個新消息或文本)。我們只使用 CHAR 或 VARCHAR 到一定數量的最大值(比如 50 或 100)。我們可以使用 255。使用您自己的判斷。

解析您的文本並將其分成編號的塊。現在您可以根據 ID 進行搜尋。如果您想搜尋文本,它更易於管理,並且您始終可以使用 ID 和計數器重新建構文本,以了解哪些相關以及以何種順序。

只是一個想法(來自我過去作為應用程序開發人員的生活)。

引用自:https://dba.stackexchange.com/questions/14248