update-sql大批量语句执行,不用事物

问题描述

sql大批量语句执行,不用事物

执行一批SQL语句,全部是update和insert,可能是一万条一起执行,执行时间较长,现在用的事物,但事物执行期间,对应的表就不能做其他操作,其他用户要查询这些表就得等待,如果把这一万条放在一起进行执行,不用事物,中途页面刷新或者关闭,sql的执行是否会中途断掉。

解决方案

如果是不同表的话,可以拆分用多线程处理,减少等待时间。另外页面刷新影响不到后台线程执行吧

解决方案二:

数据到后台后,客户端浏览器页面刷新和关闭与执行的语句没任何关系,除非有人为的判断和处理。

解决方案三:

页面?
这一万条不执行完是不会返回的啊,你客户端处于等待状态啊。

解决方案四:

批量插入批量更新,这样可以减少io开销

时间: 2024-10-29 18:33:49

update-sql大批量语句执行,不用事物的相关文章

大白话来说通用SQL语句执行过程

QQ技术交流群:127591054海量资料免费学习,各个方向大神带你飞,欢迎爱学习的你哦. 作者企鹅:595696297欢迎交流数据. 当然总结的同时发现一篇超级详细的文章,大家有兴趣可以去读一下. http://blog.csdn.net/freeking101/article/details/76522504 SQL对于大多数数据库来说大同小异,来简练的说一下一条SQL查询语句执行的流程. 1.首先点击运行按钮,写好的SQL语句会通过你用的客户端传到服务器. 2.服务器对SQL语句进行解析,

mysql-python 脚本中sql语句执行失败的问题

问题描述 python 脚本中sql语句执行失败的问题 如题,一句sql语句,在mysql命令行下可以执行并且有结果,但是,放在一段python脚本里, db.cursor.excute(sql)怎么都是0,这是怎么回事,求破 (我用的pymysql包做数据库连接池,autocommit为Ture) 解决方案 SQL语句中的执行时间问题执行SQL语句脚本文件解决存储过程中SQL字符串语句执行引入参数的问题 解决方案二: 先打印一下python的sql语句,看是否有区别

oracle-PLSQL SQL WINDOW不执行DELETE语句问题!!!

问题描述 PLSQL SQL WINDOW不执行DELETE语句问题!!! 系统win7 oracle10G plsql Version 8.0.2.1505 在plsql SQL WINDOW执行DELETE FROM AAA; 执行后没反应, 换了句DELETE FROM; 执行不报错,像是DELETE 被屏蔽了一样. 但是在plsql COMMAND WINDOW是可以正常执行. 卸载重装还是这样.郁闷. 求大神解救. 解决方案 不用郁闷了,应该是你的安装程序有问题,建议你用PLSQL D

使用 EXPLAIN PLAN 获取SQL语句执行计划

     SQL查询语句的性能从一定程度上影响整个数据库的性能.很多情况下,数据库性能的低下差不多都是不良SQL语句所引起.而SQL语句的执行 计划则决定了SQL语句将会采用何种方式从数据库提取数据并返回给客户端,本文描述的将是如何通过EXPLAIN PLAN 获取SQL语句执行计划来获 取SQL语句的执行计划. 一.获取SQL语句执行计划的方式     1. 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划      2. 查询动态性能视图

SQL语句执行过程详解

SQL语句执行过程详解一条sql,plsql的执行到底是怎样执行的呢?一.SQL语句执行原理:第一步:客户端把语句发给服务器端执行当我们在客户端执行 select 语句时,客户端会把这条 SQL 语句发送给服务器端,让服务器端的进程来处理这语句.也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生的一些 SQL 语句发送给服务器端.虽然在客户端也有一个数据库进程,但是,这个进程的作用跟服务器上的进程作用事不相同的.服务器上的数据库进程才会对SQL 语句进行相关的处理.不

node js-Node.js for循环执行sql删除语句 返回结果集出现

问题描述 Node.js for循环执行sql删除语句 返回结果集出现 for (var i = 0; i < ManagerIDs.length; i++) { var sql = 'delete from adminList where user_id = ?'; var args = parseInt(ManagerIDs[i]); console.log(args); myPool.query(sql args function (err res) { if (err) { consol

创建索引对SQL语句执行的影响

一.创建索引对执行计划的影响 在SQL开始执行之前,Oracle会确定SQL语句的执行计划,并按照执行计划的步骤访问相应的表和索引. 一旦执行计划确定下来,Oracle会按照这个执行计划完成SQL语句的执行,在SQL语句执行开始之后建立的索引不会改变SQL语句的执行计划. 因此,创建索引不会对执行计划有任何的影响,也就不会对运行中的SQL语句有影响.下面通过一个例子简单验证一下: SQL> CREATE TABLE TEST (ID NUMBER, FID NUMBER, NAME VARCHA

SQL邮件自动应答(根据收到的邮件中的查询语句回复语句执行结果)

语句|执行 SQLMail可以收发邮件,可能好多人都有xp_sendmail发送过邮件,这里介绍一种邮件服务器接收邮件后,根据邮件内容(只能是查询语句)把邮件中的查询语句执行后的结果以附件形式自动返回给发送邮件者. eg: 发送邮件,邮件内容为: select top 10 id,name from sysobjects则服务器自动回复邮件,内容为上述查询语句的执行结果,以附件形式发送. 1:当然是先配置好SQL邮件服务了,这方面的资料比较多,此处不赘述. 2: 把sp_processmail稍

SQL语句执行效率及性能测试

写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数.逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁