sql脚本长度限制及linux下文件切分
无意翻出以前笔记,切分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下文件切分的更多相关文章
- linux下文件结束符
linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...
- LINUX下文件编译
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- linux下文件编码格式转换方法(gb18030/utf-8)
文章转载自:http://www.firekyrin.com/archives/249.html linux下文件编码格式转换方法(gb18030/utf-8) 在Linux做开发或者系统管理遇到乱 ...
- Linux下文件的三种时间戳
Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...
- dos2unix,去掉Linux下文件中的^M
Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一 ...
- linux下文件的复制、移动与删除
linux下文件的复制.移动与删除命令为:cp,mv,rm 一.文件复制命令cp 命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) ...
- Linux下文件的权限
一.Linux下查看文件属性 命令为: [root@localhost ~]# ls -al 结果: ls是『list』的意思,重点在显示文件的文件名与相关属性.而选项『-al』则表示列出所有的文件详 ...
- Windows与Linux下文件操作监控的实现
一.需求分析: 随着渲染业务的不断进行,数据传输渐渐成为影响业务时间最大的因素.究其原因就是因为数据传输耗费较长的时间.于是,依托于渲染业务的网盘开发逐渐成为迫切需要解决的需求.该网盘的实现和当前市场 ...
- linux 下文件误删恢复
linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...
随机推荐
- Caused by: java.sql.SQLException: ORA-24816: 在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据
今天客户说报告草稿保存不了,跟踪错误bug,了解到以下reason: 异常出现的环境:oracle11g + Hibernate 错误分析:这是oracle 11g在clob字段中的一个bug,ora ...
- shell入门(二)——面试题实例
[~/shell]$ cat one.sh #!/bin/bash path=/root/shell/test.txt if [ ! -f $path ] //检测文件是否存在,如果不存在,把内容改为 ...
- MySQL Binlog与数据变更
如果对满足WHERE条件数据执行UPDATE,而UPDATE未导致前后数据发生变化,这种情况下会产生二进制日志么? ========================================== ...
- Unity Shader 入门精要学习 (冯乐乐 著)
第1篇 基础篇 第1章 欢迎来到Shader的世界 第2章 渲染流水线 第3章 Unity Shader 基础 第4章 学习Shader所需的数学基础 第2篇 初级篇 第5章 开始Unity Shad ...
- 5 个关于 API 中日期和时间设计规则
规则 #1 使用ISO-8601格式作为你的日期格式 ISO 8601 解决了很多问题,包括: 自然排序 - 简单和优雅,免去多余的工作即可实现排序 时区偏移 - 代表用户的地点和时区在日益增长的全球 ...
- C# ASCII与字符串间相互转换 (转)
引言: 最近开始学习C#,在写串口助手小工具时遇到十六进制发送与字符发送之间转换的问题, 小弟通过网络各路大神的帮助下,终于实现正确显示收发,小弟菜鸟一枚,不足之处还望各位批评指正O(∩_∩)O! 其 ...
- 查看Linux系统版本信息(转)
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/version Linux version 2.6 ...
- 读DataSnap源代码(四)
继续篇中的 function TCustomWebDispatcher.DispatchAction(Request: TWebRequest; Response: TWebResponse): Bo ...
- Eclipse安装插件的“最好方法”:dropins文件夹的妙用
在Eclipse3.4以前安装插件非常繁琐. 在Eclipse3.5以后插件安装的功能做了改进.而且非常方便易用. 我们只需要把需要的插件复制(拖放)到eclipse\dropins,然后插件就安装成 ...
- Spring Cloud(Dalston.SR5)--Feign 与 Hystrix 断路器整合
创建项目 要使 Feign 与 Hystrix 进行整合,我们需要增加 Feign 和 Hystrix 的依赖,修改 POM.xml 中增加以下依赖项如下: <?xmlversion=" ...