【发布时间】:2016-08-27 05:05:37
【问题描述】:
我有两个表(UserTable 和 UserProfile)和结构:
创建表用户表( id_user int identity(1,1) 主键, 名称 varchar(300) 不为 null , 电子邮件 varchar(500) 不为空, PasswordUser varchar(700) 不为空, 用户类型 int , 约束 usertype_fk 外键(userType) REFERENCES userType(id_type) 删除时设置为空 )和 userPtrofile:
创建表用户配置文件( id_profile int identity(1,1) 主键, ClientCmpName varchar(300) 空, 客户地址 varchar(500) null, 电话 varchar(50) 空值, descriptionClient varchar(400) null, img 图像为空, 消息客户端文本, fk_user int , 约束 fkuser 外键(fk_user) 引用 userTable(id_user) 在删除级联 )我使用的是 SQL Server 2008。 问题是当我更新记录时执行负载而不执行 这是示例查询:
更新 UserProfile 设置 messageClient=N'010383772' where fk_user=2;
截图
【问题讨论】:
-
我怀疑部分性能损失是它正在更新一个
text字段,该字段未与其余行数据内联存储,并且是每条记录的额外跃点要更新。但是,关于此的文档 (technet.microsoft.com/en-us/library/…) 说,只要数据很小,就不必做额外的跳跃。我不知道这个优化是否是在 2008 年完成的。
标签: sql sql-server sql-server-2008