无意翻出以前笔记,切分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. C++学习(七)(C语言部分)之 输入

    输入学习时的笔记(其实也没什么用,留着给自己看的) 输出是指 把内容打印到控制台窗口 输入是指 把内容输入到程序里 scanfscanf 从键盘获取内容到程序里格式占位符+变量要加取地址符 1.格式占 ...

  2. D. The Fair Nut and the Best Path 树形dp (终于会了)

    #include<bits/stdc++.h> #define int long long using namespace std; ; int a[maxn]; int dp[maxn] ...

  3. mac电脑读写NTFS格式的移动硬盘命令

    diskutil info /Volumes/SAMSUNG | grep UUID echo "UUID=38EBE5E4-016F-44B7-9D55-BB4AF6DC3E1D none ...

  4. Go Example--闭包

    package main import "fmt" func main() { //这里需要将闭包函数当作一个类理解,这里是实例化 nextInt := intSeq() fmt. ...

  5. c# 多线程 读写分离

    class Program { private static ReaderWriterLockSlim _LockSlim = new ReaderWriterLockSlim(); private ...

  6. python实现单链表的翻转

    #!/usr/bin/env python #coding = utf-8 class Node:     def __init__(self,data=None,next = None):      ...

  7. sqler sql 转rest api 2.0 试用

    sqler 的迭代还是很快的,已经2.0 了,2.0 有好多新功能的添加,同时也有好多不兼容的修改 说明: 测试使用docker-compose,同时我已经push 了docker 镜像 dalong ...

  8. Exclude the folders/files for indexing

    如果你的项目有非常多的文件,目录,Eclipse 有一个很好的Resource Filter 可以把有某些特征的文件,目录不再进行索引.

  9. 20165308 实验二 Java面向对象程序设计

    20165308 实验二 Java面向对象程序设计 实验二 Java面向对象程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:张士洋 学号:20165308 指导教师:娄嘉鹏 ...

  10. MySQL 中,\g和\G的作用

    MySQL 中,\g和\G的作用: \g 的作用是 go (\g) Send command to mysql server. \G 的作用是将查询到的结果,每行显示一个字段和字段值,方便查看 ego ...