如何提高insert 速度,大量数据写入sql server2000

chinawcs 2011-08-31 04:36:29

程序组配insert 时 同时写入三个表 用;连接三个语句。

也就是一个sql 由三个insert语句组成 一起执行。

测试时发现速度好慢。看进度显示 好像写入十几条就停顿会。

有哪些技巧可以提高 速度 三个表有索引 没有自增列。
...全文
513 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinawcs 2011-09-17
  • 打赏
  • 举报
回复
我的 sql 程序动态生成 的 不是导入外部txt 数据

每处理一条业务逻辑数据 会生成大概20多个sql 一起提交的

这也许是慢的一个原因吧
beijing990101 2011-09-02
  • 打赏
  • 举报
回复
这样插入确实会效率很低,13楼说的对,你试试把要插入的内容放到txt文件里,然后用Bulk insert插入表中,这种插入方式基本上就算有几百M的数据也还是相当快的
--小F-- 2011-08-31
  • 打赏
  • 举报
回复
用BCP或者 BULK INSERT
yubofighting 2011-08-31
  • 打赏
  • 举报
回复
一般情况下没问题
nzperfect 2011-08-31
  • 打赏
  • 举报
回复
你这三表多大?硬件什么配置?
chinawcs 2011-08-31
  • 打赏
  • 举报
回复
sql 里 是简单的 insert into values () 没有 select
chinawcs 2011-08-31
  • 打赏
  • 举报
回复
我是在 delphi 里拼接的 贴出部分代码


SqlStat := 'Insert Into ASORD_MARC (ASORD_MARC_REC_NO, DOC_TYPE_CODE, COUNTRY_CODE, LANG_CODE, MARC_TYPE, INPUT_BATCH, INPUT_FLAG, M_CALL_NO, M_TITLE, M_AUTHOR, M_PUBLISHER, M_PUB_YEAR, M_ISBN)'
+ 'Values(' + Values + ')';

SqlStat := 'Insert Into ASORD_MARC_DATA (ASORD_MARC_REC_NO, ASORD_MARC) Values (' + Values + ')';

SqlStat := 'Insert Into ASORD_MARC_IDX (ASORD_MARC_REC_NO, ASORD_IDX_GRP, ASORD_DATA_CODE, ASORD_IDX_CONT) Values ('
+ Values + ')';


三个表 同时插入
前2个表 会增加一条记录 第三个表 增加大概十几条记录(会不会是这里太多了 慢了)

geniuswjt 2011-08-31
  • 打赏
  • 举报
回复
是insert ... select ... from ...的类型么?
会不会select的效率其实就很慢?
单单select下试试效率?
chinawcs 2011-08-31
  • 打赏
  • 举报
回复
是在程序中拼接的sql 也是一次执行的。

虽然是同时写入三个表 没有加事务

因为是 ; 分号拼接的。

sql 好长的 不好贴出来

geniuswjt 2011-08-31
  • 打赏
  • 举报
回复
语句贴出来看看
NBDBA 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 spiritofdragon 的回复:]
说个偷步的方法:插入前删索引,插入后,再创建索引(如果是大批量插入的话)。没索引的表insert时肯定快,删建索引又不耗时,只要准确无误就行。
[/Quote]
删建索引又不耗时??!!
NBDBA 2011-08-31
  • 打赏
  • 举报
回复
提高速度方法:
1、批量插入
2、存储过程处理
3、如果数据量太大,可考虑分表
spiritofdragon 2011-08-31
  • 打赏
  • 举报
回复
说个偷步的方法:插入前删索引,插入后,再创建索引(如果是大批量插入的话)。没索引的表insert时肯定快,删建索引又不耗时,只要准确无误就行。
快溜 2011-08-31
  • 打赏
  • 举报
回复
应该加个事务,防止数据出错。如果是循环插入,建议在程序中拼接sql,一次执行。
chuanzhang5687 2011-08-31
  • 打赏
  • 举报
回复
语句贴出来!

34,873

社区成员

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

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