我想寫一個小博客引擎。我很想找到一個示例SQL Server架構來給我一些想法,但還沒有找到。如何在SQL Server 2012行中內聯存儲超過8000個字節的數據?
我想有一個博客表,允許我存儲超過8000字節的數據。誰能告訴我,如果一個好辦法做到這一點會與兩個字段是這樣的:
CREATE TABLE [Blog](
[BlogId] [int] IDENTITY(1,1) NOT NULL,
[BlogText1] [nvarchar](8000) NOT NULL,
[BlogText2] [nvarchar](8000),
..
我在想什麼是文本存放在兩個領域,並有我的應用程序追加兩個字段的內容時,正在顯示數據,當存儲數據時,首先存儲在BlogText1中的xxx個字符,然後是存儲在BlogText2中的剩餘部分。
這是一個合理的事情要做還是應該只使用nvarchar(max)?
如果我使用nvarchar(8000)可以容納多少個字符?
我所關心的是檢索一行所需的時間。我是否正確地假設,如果我使用nvarchar(max),則檢索該行需要更長的時間。
下面是一個示例模式http://codex.wordpress.org/Database_Description –
使用'NVARCHAR(MAX)'並讓它首先工作。只有在它工作之後,您才能通過配置文件來測試列寬是否是性能瓶頸。我的猜測是,它不會,但直到應用程序運行後,你纔會知道。 –
user2246674 - 您提到的超過8000個不能以內聯方式存儲。我認爲,在SQL Server 2012中,有大量的字節可能與行溢出一起存儲。是不是可以將這些> 8000存儲在多個字段中,而不必使用MAX就可以使用行溢出? – Alan2