Sybase IQ并发DML的两个小技巧commit和lock table
来源:互联网 发布:javascript reduce 编辑:程序博客网 时间:2024/06/06 03:25
1、commit
对Sybase IQ数据库,在查询、更新、删除等等操作的SQL语句前后,都需要做commit操作,以防数据不一致。
commit;select count(*) from tableName;commit;
2、LOCK TABLE
对Sybase IQ数据库,对同一表对象,是不能并发做DML操作的。
解决方案为:在执行每一次DML操作的时候,通过执行语句“LOCK TABLE 表名 IN WRITE MODE WAIT ”锁表,让后来的DML操作排队。另外,也可以对锁表语句指定等待多长时间,语句为“LOCK TABLE表名IN WRITE MODE WAIT hh:nn:ss:sss ”。
需要注意的是:
(1)在编码时警惕:锁表操作执行后,不可执行commit操作,否则锁表无效。正常做法是commit后lock table,再执行具体dml,最后commit;
(2)在编码时警惕:lock table 操作对同一个connection不生效,即lock后同一个connection的其他dml操作照样可以做;另外,对不同的connection,一个connection锁表后,必须要commit后或者该connection中断后,才能释放锁,其他connection才能进行dml操作。
public static void executeLockTableBeforeDml(Connection dbConn, String tableName, String operateFlag) throws SQLException { Statement ps = null; try { operateFlag += "(" + System.currentTimeMillis() + ")"; dbg.info("Prepare to lock table: " + tableName + " before " + operateFlag); ps = dbConn.createStatement(); ps.execute(getLockTableSql(tableName)); dbg.info("Lock table success: " + tableName + " before " + operateFlag); } finally { ConnectionWrapper.close(ps); } } private static String getLockTableSql(String tableName) { return "LOCK TABLE " + tableName + " IN WRITE MODE WAIT"; }
阅读全文
1 0
- Sybase IQ并发DML的两个小技巧commit和lock table
- Sybase IQ 的导入和导出
- Sybase IQ load table 的时候如何跟踪日志。
- [小技巧] git 取得两个 tag 之间的 commit
- Sybase IQ load table 语句的自动生成的存储过程
- 通过Load table命令将数据文件加载到Sybase IQ数据库里面的Python脚本
- Sybase IQ 数据库数据互访和同步
- Linux上启动Sybase ASE和IQ
- Sybase IQ 12.7 中 load table 遇到问题
- Sybase IQ,你需要知道的基础
- sybase iq 大牛的blog地址
- Sybase IQ,你需要知道的基础
- PHP支持Sybase IQ数据库的配置
- 查看sybase IQ的执行计划
- Sybase IQ,你需要知道的基础
- oracle 9i r2 锁争用:DDL 和 DML 和 LOCK TABLE tablename IN exclusive mode
- Sybase小技巧
- SYBASE IQ 常用命令
- Springboot使用FastJson中文乱码解决方法。
- CentOS系统redis主从模式实现
- oracle备份还原
- 中兴跳楼程序员妻子:他们就这样把我老公逼死了
- Linux安装python 2.7.9
- Sybase IQ并发DML的两个小技巧commit和lock table
- 开心Google之旅
- 集合
- dorado7数据库准备工作出现的错误
- oracle入门很简单:七、oracle表空间
- 二路归并算法
- Centos7 用户登录失败N次后锁定用户禁止登陆
- 分布式服务Dubbo+Zookeeper安全认证
- luogu 1074靶形数独-位运算优化