我已经在MSDN论坛和这里读到了这个,我还不清楚.我认为这是正确的:Varchar(max)将存储为文本数据类型,因此存在缺陷.因此,假设您的字段可靠地低于8000个字符.像我的数据库表中的BusinessName字段.实际上,商业名称可能总是在(从我的帽子里拿出一个数字)500个字符.看起来我运行的大量varchar字段远低于8k字符数.
那么我应该将该字段设为varchar(500)而不是varchar(8000)吗?根据我对SQL的理解,这两者之间没有区别.因此,为了简化生活,我想将所有varchar字段定义为varchar(8000).这有什么缺点吗?
相关:varchar列的大小(我不觉得这个回答了我的问题).
每次我混淆选择varchar(max)或varchar(fix)数据类型.假设我有一个大约5000 varchar的数据列.列不是null类型.
我应该设置varchar(max)not null或varchar(5000)not null.
在可以为空的数据类型的情况下也是如此.
CREATE TABLE [dbo].[tblCmsPages](
[CmsPagesID] [int] IDENTITY(1,1) NOT NULL,
[PageName] [varchar](250) NOT NULL,
[PageContent] [varchar](max) NOT NULL,
[Sorting] [int] NOT NULL,
[IsActive] [bit] NOT NULL)
Run Code Online (Sandbox Code Playgroud)
//要么
CREATE TABLE [dbo].[tblCmsPages](
[CmsPagesID] [int] IDENTITY(1,1) NOT NULL,
[PageName] [varchar](250) NOT NULL,
[PageContent] [varchar](5000) NOT NULL,
[Sorting] [int] NOT NULL,
[IsActive] [bit] NOT NULL
Run Code Online (Sandbox Code Playgroud)
// [PageContent]将是5000个char或单个char或null然后我应该采取什么.
彼此想我想知道.null和not null之间的主要区别是什么.它仅用于验证检查以及对性能的影响.