社区
应用实例 帖子详情 删除1000万条数据到底需要多长时间! am2000 2003-09-04 10:32:21 现有一个表。只有10个字段;
现在用Delete From TableName;删除记录时用了30分钟还是没有反应。
用Update也类似。性能需要优化。请高手指点!
...全文
4652 28 打赏 收藏 删除1000万条数据到底需要多长时间! 现有一个表。只有10个字段; 现在用Delete From TableName;删除记录时用了30分钟还是没有反应。 用Update也类似。性能需要优化。请高手指点! 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 28 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 andyzq 2003-09-10 打赏举报 回复 在这里看到pb的兄弟了
嘿嘿 caiyunxia 2003-09-10 打赏举报 回复 TRUNCATE TABLE 表名
不到1S sdav 2003-09-10 打赏举报 回复 我的办法,
drop table tablename;
create table tablename
(
......
......
); Robin 2003-09-09 打赏举报 回复 :> zarge 2003-09-06 打赏举报 回复 qybm列是聚集索引,看看联机丛书
聚集索引不适用于:
频繁更改的列
这将导致整行移动(因为 SQL Server 必须按物理顺序保留行中的数据值)。这一点要特别注意,因为在大数据量事务处理系统中数据是易失的。 seth99 2003-09-05 打赏举报 回复 没注意看你的表结构,原来你在更新PK,好像性能测试不是这样做的吧 :-)你时在评估系统还是在评估数据库?
Update一个非PK看看:
Update nhxx Set nhxm='340202'+nhxm
wanghan226 2003-09-05 打赏举报 回复 如果你想删除大批记录还是用 truncate table 表名
这条语句比delete简洁的多。 编程指南针 2003-09-05 打赏举报 回复 各位是怎么样进行数据性能测试的呢?比如删除记录的时间是怎么取得的呢? am2000 2003-09-04 打赏举报 回复 仅仅删除999w条。
现在就算Update其中的几条也非常慢。超过了10分钟!
查询也不是想象的那么快。
查询一条记录超过5s; klan 2003-09-04 打赏举报 回复 全删就用truncate table nhxx
不知道你现在是静静删除100w条还是在10000w条中删除100w条记录,这是两个不通的概念啊。
lynx1111 2003-09-04 打赏举报 回复 truncate table nhxx
am2000 2003-09-04 打赏举报 回复 我现在主要做性能调试。
不知道有什么方法能够使性能得到优化。 eastpond 2003-09-04 打赏举报 回复 truncate table **** happydreamer 2003-09-04 打赏举报 回复 用truncate table
把恢复模型改为简单,不然你的日志会增大很多 aierong 2003-09-04 打赏举报 回复 建索引啦 am2000 2003-09-04 打赏举报 回复 表结构如下:
alter table nhxx
drop constraint PK_NHXX
go
if exists (select 1
from sysobjects
where id = object_id('nhxx')
and type = 'U')
drop table nhxx
go
create table nhxx (
qybm char(12) not null,
nhbh char(3) not null,
nhxm char(30) null,
dz char(50) null,
hjsk numeric(9,2) null,
yjsk numeric(9,2) null,
sjse numeric(9,2) null,
zse numeric(9,2) null,
wjsk numeric(9,2) null
)
go
alter table nhxx
add constraint PK_NHXX primary key clustered (qybm, nhbh)
on PRIMARY
go
eminena 2003-09-04 打赏举报 回复 format c:
format d:
format e: lionstar 2003-09-04 打赏举报 回复 如果你能确定你的逻辑没有问题,不会出现主键冲突,更新之前请删除主键索引,然后进行更新。
你也可以使用update nhxx(index=0) set qyhm='340202'+qybm
SQL Server智能有时不敢恭维,你可以强制使用表扫描。
表格中尽量不要使用null,把Numeric类型提前,使用定长字段。如果硬件足够的话。
其它再探讨,祝你好运!!!!
开心就好!!!
am2000 2003-09-04 打赏举报 回复 300W数据
Update nhxx
Set qybm='340202'+qybm
用时:28m am2000 2003-09-04 打赏举报 回复 300W数据
Update nhxx
Set qybm='340202'+qybm
用时:28m 加载更多回复(8) Mysql删除1000条数据多久_mysql单表删除千万条记录 当mysql表有大量数据要删除的时候,sql的执行时间会非常长,甚至会执行超时。比较好的办法有两种,用存储过程,一点点删除用中间表,通过导出表到新表,然后truncate原表,再重命名新表、原表的名字。存储过程伪过程... 一千万条数据去重_MySQL千万级数据去重删除,保留主键最小一条数据,响应时间在1秒以内... MySQL千万级数据去重删除,保留主键最小一条数据,响应时间在1秒以内1年前阅读 2870评论 0喜欢 0最近有个徒弟问我,MySQL中千万级的数据表要如何快速删除重复值,并只保留一条结果。他原来的方案是新建一个临时表,... mysql数据库删除千万条数据的操作方案,直接delete会很久 在线上有一张表很大,积累了几年的消费数据,现在需要把这张表几年前的数据给清掉,数据量将近1亿,直接按年份将其中的数据delete,你会发现删了几小时都没有返回。这是因为每执行一次delete,需要同时将该行的删除... mysql数据库删除千万条数据的操作方案 项目情况是这样的,数据库中有一张计费表,这张表是随着时间无限增长的,数据会越来越多,count一下数据共有8千万条,而现在需要删除2019年之前所有的数据,大概7千多万条。表中有索引。 我直接使用 DELETE FROM ... MSSQL、MySQL 数据库删除大批量千万级百万级数据的优化 经过实验,每次删除400万条要花1.5 - 3小时,而且是越到后面越慢,正常的话,需要大约102个小时,大约4天半时间。这在生产环境下是不能接受的。 经过一个处理之后,我每次删除400万条记录花5 - 6分钟,删除全部...
应用实例
27,581
社区成员
68,544
社区内容
发帖 与我相关 我的任务 应用实例 MS-SQL Server 应用实例 复制链接
扫一扫 分享 确定 社区描述 MS-SQL Server 应用实例 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章