哪样插入数据性能更优?

问题描述

我现在的情况是:用存储过程插入数据,底层方法是每次插入都打开、关闭数据库。现在需要插入大量条数据,到底是读一条(网页抓取的)插一条,还是读到一个List中,再统一插入呢?哪样做性能比较好?另外恳请讲下大致原理?

解决方案

解决方案二:
使用存储过程插入,然后。大数量,可以分块插入,比如5秒之后插入多少条数据。时间间隔来插入,不要一次性插入!
解决方案三:
如果你是每次插入都打开、关闭数据库批次插入数据性能会更好
解决方案四:
批次插入是指?一次插入一批?
解决方案五:
存到一个list再统一插入比较好
解决方案六:
储到一个list当中,但每次插入还是一条条插入啊!
解决方案七:
引用5楼yjxsf8313的回复:

储到一个list当中,但每次插入还是一条条插入啊!

sqlserver2008一次可以插入多个insertintoa(id)values(1),(2),(3);
解决方案八:
stringcmd="insert...............;insert................;"
解决方案九:
引用楼主yjxsf8313的回复:

我现在的情况是:用存储过程插入数据,底层方法是每次插入都打开、关闭数据库。现在需要插入大量条数据,到底是读一条(网页抓取的)插一条,还是读到一个List中,再统一插入呢?哪样做性能比较好?另外恳请讲下大致原理?

直接构建一个批次的sql语句完了打开连接后一起执行
解决方案十:
如果目标数据库是sqlserver2008还可以这样写;insert。。。。values(........),(。。。。。。。。。。。),(。。。。。。。)
解决方案十一:
批量当然性能更优,同2楼:批量插入要分块,比如一次插入2000条,提交一次。
解决方案十二:
单纯插入的话用SqlBulkCopy试试
解决方案十三:
先丢到文本文件里面,然后一次性导入
解决方案十四:
引用8楼yanbuodiao的回复:

引用楼主yjxsf8313的回复:我现在的情况是:用存储过程插入数据,底层方法是每次插入都打开、关闭数据库。现在需要插入大量条数据,到底是读一条(网页抓取的)插一条,还是读到一个List中,再统一插入呢?哪样做性能比较好?另外恳请讲下大致原理?直接构建一个批次的sql语句完了打开连接后一起执行

up
解决方案十五:
引用5楼yjxsf8313的回复:

储到一个list当中,但每次插入还是一条条插入啊!

不是啊,可能上面的人没讲清楚,需要用到“sql事务处理”http://www.baidu.com/s?wd=sqltransaction&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&oq=sqltrans&rsp=0&f=3&inputT=3391百度sqltransactionhttp://zhidao.baidu.com/question/93887018.html参考这个,意思是批量执行4条sql语句,要么都执行成功,执行失败则回滚。
解决方案:
依照业务逻辑再考虑速度的定义不唯一啊.
解决方案:
该回复于2012-03-13 15:05:16被版主删除

时间: 2024-10-23 19:25:13

哪样插入数据性能更优?的相关文章

FusionCube For HANA解读:分布式架构让HANA性能更优

大数据时代,数据已成为企业公认的"数字石油",如何高性能.实时地访问.处理.分析所有运营数据,已经成为企业核心竞争力.在这样的背景下,一体机凭借性能.部署等方面的优势成为 众多企业掘金大数据的不错选择,也因此诞生了诸如Oracle Exadata.IBM PureSystems等高性能一体机产品.与Oracle.IBM的大数据一体机不同,SAP在实时大数据分析.决策及预测分析等方面具有较强的技术优势,也推出了基于开放硬件的HANA高性能一体机解决方案.自2010年推出至今,HANA一体

谁动了站长奶酪Dns.la系统升级性能更优

天下大事,合久必分分久必合.不仅如此,行业发展也似乎难逃其律.2008 年,中国电信业进行重组,重组后的中国电信业分为三大全业务运营商,分别为新移动.新联通和新电信.但南北方电信和网通之间以及新三大运营商之间互访的瓶颈问题依然存在,电信.联通.移动等各运营商和教育网之间互访速度较慢,一些大的企事业单位由于其访问资源.带宽.资费等原因选择多个出口,一些重要的网站或者ICP 采用双线或者多线的方式来提高其服务质量,不同位置和不同服务商下的用户访问教育网速度很慢,俗称"蜗牛病".不仅如此,很

Android批量插入数据性能优化

做数据同步时遇到一个问题,在下载数据时需要批量的向sqlite插入数据,虽然数据不算多,但是实际测试中每插入一条数据需要将近50ms的时间,这意味着1000条数据就需要花费50s左右的时间,对于用户来说,体验太差了,必须要优化. 在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作.明白了这个,解决方案就有了,在批量插入数据的时候,只开启一个事务,这样只会进行一次磁盘操作,代码如下: db.beginTransaction(); try { for (...) {

Android版QQ同步助手4.1.5:新引擎性能更优

春节刚过,QQ同步助手再推新版,凭借强大的同步功能,帮用户备份那些春节期间添加.更改的联系人信息,以及重要的通讯记录等.最 新的Android版QQ同步助手4.1.5更换了新的引擎.架构,为用户带来 更快.更 稳定的同步体验.同时,以新LOGO.新面貌,继续为广大 Android手机用户提供贴心服务. 新引擎,同步更迅速更稳定 为给用户提供更快的同步速度,减少等待时间,QQ同步助手4.1.5(Android)更换了新的引擎,采用了新的协议,较之前版本有了质的变化,速度.稳定性.成功率等方面都有很

ANDROID性能调优

http://www.trinea.cn/android/android-performance-demo/#comment-115 本文主要分享自己在appstore项目中的性能调优点,包括同步改异步.缓存.Layout优化.数据库优化.算法优化.延迟执行等.   性能优化专题已完成五部分: 性能优化总纲--性能问题及性能调优方式性能优化第三篇--Java(Android)代码优化性能优化第二篇--布局优化性能优化第一篇--数据库性能优化 性能优化实例    一.性能瓶颈点 整个页面主要由6个

探讨SQL Server批量向数据库插入数据的性能优化问题

昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的http://www.aliyun.com/zixun/aggregation/14109.html">性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了本文. 公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问. 技术方案一: 压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入.

MySQL数据插入insert性能优化详解

对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长.我们就有一个业务系统,每天的数据导入需要4-5个钟.这种费时的操作其实是很有风险的,假设程序出了问题,想重跑操作那是一件痛苦的事情.因此,提高大数据量系统的MySQL insert效率是很有必要的. 经过对MySQL的测试,发现一些可以提高insert效率的方法,供大家参考参考. 1. 一条SQL语句插入多条数据. 常用的插入语句如:  代码如下 复制代码 INSERTINTO`insert_table`

SQL批量插入数据几种方案的性能详细对比

公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问. 技术方案一: 压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入.很明显,这种方式效率并不高,于是有了前面的两位同事讨论效率低的问题. 技术方案二: 由于是考虑到大数据量的批量插入,于是我想到了ADO.NET2.0的一个新的特性:SqlBulkCopy.有关这个的性能,很早之前我是亲自做过性能测试的,效率非常高.这也是我向

互联网鸿沟呼唤智能dns dns.la升级系统提供更优性能

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 DNS的安全问题越来越被站长们所关注,特别是今年七月份国内有名的几个大型域名注册商,接二连三的无法正常提供解析,造成很多网站无法访问近十个小时,给站长造成不可估量的损失. 据调查发现,七月份很多DNS提供商被攻击的直接原因就是因为利益而默许了大量的私服.棋牌类网站接入,这无疑是给安装了个定时炸弹,随时都有可能被引爆,为此DNSLA自主研发了域