SQL Server中,修改表结构时,如果表中数据量大的话,每次修改都要花费很多时间。如果降低时间开销?

sblsongdongf 2009-03-31 02:10:57
即使我新增字段允许为null,也要花很长的时间。这是否是因为修改表结构时需要锁定引起的?
有什么治本的方法来降低这样的开销?
...全文
351 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljluck7687 2009-03-31
  • 打赏
  • 举报
回复
用sql做表结构修改,按道理执行速度会很快。
alter table test add aa varchar(10)
thunderbird521 2009-03-31
  • 打赏
  • 举报
回复
大数据表改结构最合适的办法:
建一个你想要结构的新表,把旧数据
insert into 新表
select 旧表字段 from 旧表

最后新表重建索引,2005建立索引速度很快。
查看数据无误后,
drop table 旧表
sp_rename ‘新表’,‘旧表’
等不到来世 2009-03-31
  • 打赏
  • 举报
回复
老身的,一个个改吧
sblsongdongf 2009-03-31
  • 打赏
  • 举报
回复
补充一句,我不是专职的DBA,呵呵。对SQL Server也谈不上很熟悉。
我们公司就没有真正的DBA,唉。
sblsongdongf 2009-03-31
  • 打赏
  • 举报
回复
我是用企业管理器修改的,确实加在最后。加在中间的话会造成数据挪动,这点我是能理解的。
用sql语句修改会更快吗?
dawugui 2009-03-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 sblsongdongf 的帖子:]
即使我新增字段允许为null,也要花很长的时间。这是否是因为修改表结构时需要锁定引起的?
有什么治本的方法来降低这样的开销?
[/Quote]
如果要这么做,就没办法.除非你更改需求,不改表.
Novelty 2009-03-31
  • 打赏
  • 举报
回复
如果是界面方式,请注意加字段的时候总是添加在最后。
jinjazz 2009-03-31
  • 打赏
  • 举报
回复
这东西不会对线上产品造成影响吧。一天到晚改表结构干嘛呢
Novelty 2009-03-31
  • 打赏
  • 举报
回复
你是用什么方式加字段,界面方式,还是SQL方式。
sblsongdongf 2009-03-31
  • 打赏
  • 举报
回复
To 5F的sdhdy:
我们都知道表结构不能随便更改。但是最早的表结构不是我设计的,现在就是因为应用的需要而扩展表结构。
由于我们同一类型的数据量很大,所以之前做过垂直的表切分,形成了一批结构相同的表。切分后每张表的规模在500~800万。
现在要对这些表添加字段。每个表的改动都要花费一定时间。我不知道是否还有什么高效的做法,所以来请教高人。
我也不太支持另建一组表,通过外键来关联。那样每次的表连接开销很大。
sdhdy 2009-03-31
  • 打赏
  • 举报
回复
治本的方法就是设计表的时候考虑周全一些,不要经常修改表结构。
yuyangyangde 2009-03-31
  • 打赏
  • 举报
回复
关注~!
knifewei 2009-03-31
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
有深度的问题,帮你顶
关注~
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
帮顶.
本课程根据讲师十多年在世界500强外企的生产环境SQL Serer数据库管理和项目实施经验倾心打造。课程系统性强,知识体系完整,覆盖90%以上的企业环境下SQL Server高可用场景,课程不仅演示详细的操作步骤,更加突出最常见的故障和问题,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范,满满的干货分享,一些课程资料(架构图、部署规划格等)不仅可以帮助学员掌握技能,也可以作为学员在企业生产环境实施SQL Server高可用的配置文档、操作手册等。课程的实验环境介绍:1)全部基于微软域环境和企业版SQL Server AOAG - 95%以上的企业环境都是在域环境,不介绍非域环境和标准版的SQL Server高可用性组,这的配置在企业较罕见,没有实践意义,不浪费学员。2)相应域环境已提前部署和配置好 - 学员导入虚拟机即可开始实验,无需从零开始搭建域环境,所有实验SQL Server均已加域,直入主题,节省大量。3)最新的Windows Server故障转移集群(WS2016、WS2019)和最新版本的SQL ServerSQL2017、SQL2019) -  WS2016-SQL2017与WS2019-SQL2019是目前大多数企业SQL Server高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。本课程为后续SQL Server进阶课程铺垫,是通向SQL Server DBA 专家的必经之路,讲师每周答疑两次。所有课程资料包括:课程PPT、架构图、部署规划格、各类脚本学员均可下载。     

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧