无意翻出以前笔记,切分sql文件,每10万条加一个commit。半天都想不起来应用的场景,能想起来的再加上查的资料记录一下。

   在Oracle数据库中,频繁的commit会引起大量Redo Log的物理I/O,会极大的限制数据库的性能。因此,为提高数据库性能,尽可能的批量提交。

   Could not execute JDBC batch update,最后发现原因是SQL语句长度大于1M,mysql通讯的数据包大小设置是1M,这就造成sql语句执行失败。

把mysql的配置文件(my.ini)中的max_allowed_packet = 6M变大,就可以顺利执行。

Oracle IN 子句中的LIST个数最长为1000,超过该数目将报错,这里可转用一个临时表来解决。单条sql语句长度和mysql一样,也有长度的限制。

使用split命令可以完成文件的切分。

   1)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。命令:

$ split -b 20m splitTest.txt
$ ls
splitTest.txt xaa xab xac

    2)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。指定分割后的文件前缀位split,命令:

$ split -b 20m splitTest.txt  split
$ ls
splitaa splitab splitac splitTest.txt

3)将文件splitTest.txt分割成多个文件,每个文件50万行。命令:

$ split -l 500000 splitTest.txt  split
$ ls
splitaa splitab splitac splitad splitTest.txt

4)将文件splitTest.txt分割成多个文件,每个文件50万行。指定分割后的文件后缀为数字,数字位数为3位,命令:

$ split -l 500000 -d -a 3 splitTest.txt  split
$ lssplit000 split001 split002 split003 splitTest.txt

  可以使用cat命令将切分后的文件合并成新的文件:

$ cat split0* > original.txt

  用head -n 1,100 >>xx.txt 应该也可以分割,记不太清了。

sql脚本长度限制及linux下文件切分的更多相关文章

  1. linux下文件结束符

    linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...

  2. LINUX下文件编译

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  3. linux下文件编码格式转换方法(gb18030/utf-8)

    文章转载自:http://www.firekyrin.com/archives/249.html linux下文件编码格式转换方法(gb18030/utf-8) 在Linux做开发或者系统管理遇到乱 ...

  4. Linux下文件的三种时间戳

    Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...

  5. dos2unix,去掉Linux下文件中的^M

    Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一 ...

  6. linux下文件的复制、移动与删除

    linux下文件的复制.移动与删除命令为:cp,mv,rm 一.文件复制命令cp     命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)      ...

  7. Linux下文件的权限

    一.Linux下查看文件属性 命令为: [root@localhost ~]# ls -al 结果: ls是『list』的意思,重点在显示文件的文件名与相关属性.而选项『-al』则表示列出所有的文件详 ...

  8. Windows与Linux下文件操作监控的实现

    一.需求分析: 随着渲染业务的不断进行,数据传输渐渐成为影响业务时间最大的因素.究其原因就是因为数据传输耗费较长的时间.于是,依托于渲染业务的网盘开发逐渐成为迫切需要解决的需求.该网盘的实现和当前市场 ...

  9. linux 下文件误删恢复

    linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...

随机推荐

  1. 下载B站、秒拍等视频网站视频

    需要一个FVD Downloader(插件) 安装过程很简单,会浏览器安装插件的就不多说了!

  2. (考研)java网络编程

    dog   jb 叫什么...  从飞秋得到IP地址 自己学会的用命令 ipconfig 编写java程序看ipimport java.net.*; public class Test{ public ...

  3. linux之nagios安装教程

    我的系统环境是centos7,其它系统应该也差不多,只是有几条命令可能需要换种写法 下面是我用到的命令 363 yum install -y gcc gcc-c++ httpd php php-gd ...

  4. 用flask和长轮询实现对帅哥投票和实时查看票数

    flask中的代码 from flask import Flask,request,render_template,redirect,session,jsonify import uuid impor ...

  5. RESTful Web API 理解

    REST 是一种应用架构风格,不是一种标准,是面向资源架构(ROA)风格,与具体技术平台无关,REST架构的应用未必建立在Web之上,与之对应的是传统的Web Service 采用的面向操作的RPC架 ...

  6. java程序源码

    //Account.java package pers.liqin.accounlist; public class Account { private String accountID; priva ...

  7. MongoDB journal与oplog解惑

    journal journal 是 MongoDB 存储引擎层的概念,目前 MongoDB主要支持 mmapv1.wiredtiger.mongorocks 等存储引擎,都支持配置journal. M ...

  8. Chrome 66 禁止声音自动播放

    声音无法自动播放一直在IOS/Android上面都是一个惯例, 桌面端的 Safari在2017年的11版本中也宣布禁止带有声音的多媒体自动播放, 紧接着2018年4月份Chrome发布的66版本也正 ...

  9. java 泛型与通配符(?)

    泛型应用于泛型类或泛型方法的声明. 如类GenericTest public class GenericTest<T> { private T item; public void set( ...

  10. Intellj(IDEA)中修改No artifacts configured问题

    如下图,配置Deployment的时候,出现No artifacts configured错误 解决的方法