分区表如何提高insert的速度,因为最消耗cpu的前三个操作都是insert

soldierluo 2012-07-21 10:10:53
分区表如何提高insert的速度,因为最消耗cpu的前三个操作都是insert操作

请问有没什么办法可以提高insert的效率
...全文
750 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinLiu 2012-08-05
  • 打赏
  • 举报
回复
缩小事务,将分区文件放到不同的磁盘(IO分离)也是可以提高性能的。
勿勿 2012-08-05
  • 打赏
  • 举报
回复
可以用临时表来做如过数据量大的话。
然后把临时表插入到表中。http://blog.csdn.net/szstephenzhou/article/details/7788787
--小F-- 2012-07-23
  • 打赏
  • 举报
回复
可以批量插入临时表 然后再从临时表里面读入数据

临时表也可以用索引的。
白天的猫头鹰 2012-07-23
  • 打赏
  • 举报
回复
是不是索引创建过多,导致插入速度变慢,不然一般插入数据都很快的
luckings 2012-07-22
  • 打赏
  • 举报
回复
如果是大批量插入数据,建议分批commit的,大批量不及时commit会造成内存与临时空间不足,回滚空间的大量开销,增大cpu开销。比如一次提交1000条
發糞塗牆 2012-07-22
  • 打赏
  • 举报
回复
2005以后的分区表不仅能提高查询,也能提高插入,因为提高了并行性,所以正常情况下分区表的插入肯定会比单表插入来的快。对于高CPU消耗,你应该看看是不是你的语句频繁编译等。或者插入的时候比如tempdb空间不足造成等待,或者内存不足,CPU需要频繁把空间从内存和硬盘之间切换。这些都会导致问题的产生,建议先查看等待情况。
haitao 2012-07-21
  • 打赏
  • 举报
回复
分区表,
如果索引是基于分区条件的,索引也可以仅仅影响一个分区,不影响其它分区,插入也会很快
如果与分区条件无关,则是整个大表一个索引,插入就慢了
不过索引已经是btree之类的数据结构,预留空闲位置尽量避免频繁的数据大挪移了
筱筱澄 2012-07-21
  • 打赏
  • 举报
回复
分区只提高select速度

如果你这个表还经常insert 或者update 操作那就分表吧
根据你的业务情况分成多个表。
人生无悔 2012-07-21
  • 打赏
  • 举报
回复
分区表一般都是用来管理数据仓库,提高查询效率才创建的吧,多数按时间范围分区,按需而已

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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