相关疑难解决方法(0)

varchar(500)比varchar(8000)更有优势吗?

我已经在MSDN论坛和这里读到了这个,我还不清楚.我认为这是正确的:Varchar(max)将存储为文本数据类型,因此存在缺陷.因此,假设您的字段可靠地低于8000个字符.像我的数据库表中的BusinessName字段.实际上,商业名称可能总是在(从我的帽子里拿出一个数字)500个字符.看起来我运行的大量varchar字段远低于8k字符数.

那么我应该将该字段设为varchar(500)而不是varchar(8000)吗?根据我对SQL的理解,这两者之间没有区别.因此,为了简化生活,我想将所有varchar字段定义为varchar(8000).这有什么缺点吗?

相关:varchar列的大小(我不觉得这个回答了我的问题).

sql t-sql sql-server

89
推荐指数
4
解决办法
3万
查看次数

sql varchar(max)vs varchar(fix)

每次我混淆选择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然后我应该采取什么.

彼此想我想知道.nullnot null之间的主要区别是什么.它仅用于验证检查以及对性能的影响.

sql sql-server sql-server-2008

10
推荐指数
2
解决办法
6458
查看次数

标签 统计

sql ×2

sql-server ×2

sql-server-2008 ×1

t-sql ×1