腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
乐沙弥的世界
专栏作者
举报
666
文章
956946
阅读量
48
订阅数
订阅专栏
申请加入专栏
全部文章(666)
其他(362)
数据库(172)
oracle(144)
sql(98)
linux(71)
云数据库 SQL Server(49)
存储(41)
shell(29)
mongodb(20)
unix(19)
erp(19)
人工智能(18)
windows(18)
nginx(13)
apache(10)
sql server(10)
编程算法(9)
开源(9)
安全(9)
运维(8)
yum(8)
java(7)
nosql(7)
grep(6)
bash(5)
https(5)
python(4)
html(4)
tomcat(4)
http(4)
容器(4)
分布式(4)
缓存(4)
gui(4)
flash(4)
lamp(4)
数据结构(4)
php(3)
json(3)
api(3)
centos(3)
数据迁移(3)
dns(3)
tcp/ip(3)
access(2)
云数据库 MongoDB(2)
express(2)
自动化(2)
jdk(2)
ftp(2)
gcc(2)
nat(2)
负载均衡(1)
perl(1)
ruby(1)
go(1)
lua(1)
jsp(1)
typescript(1)
云数据库 Redis(1)
mvc(1)
ruby on rails(1)
打包(1)
git(1)
windows server(1)
日志服务(1)
爬虫(1)
ssh(1)
wordpress(1)
正则表达式(1)
kernel(1)
zabbix(1)
大数据(1)
数据分析(1)
数据处理(1)
虚拟化(1)
搜索文章
搜索
搜索
关闭
DML Error Logging 特性
日志服务
编程算法
ruby on rails
sql
最近的项目中发现处理DML Error 时,逐条逐条处理1千多条的数据从临时表 insert 到正式表需要差不多1分钟的时间,性能相当低下,而Oracle 10g中的DML error logging对于DML异常处理性能卓著。原本打算写篇关于这个特性的文章,正好有经典篇章,于是乎,索性翻译供大家参考,有不尽完美之处,请大家拍砖。 缺省情况下,一个DML命令失败的时候,在侦测到错误之前,不论成功处理了多少条记录,都将将使得整个语句回滚。在使用DML error log之前,针对单行处理首选的办法是使用批量SQL FORALL 的SAVE EXCEPTIONS子句。而在Oracle 10g R2时,DML error log特性使得该问题得以解决。通过为大多数INSERT,UPDATE,MERGE,DELETE语句添加适当的LOG ERRORS子句,不论处理过程中是否出现错误,都可以使整个语句成功执行。这篇文章描述了DML ERROR LOGGING操作特性,并针对每一种情形给出示例。 一、语法 对于INSERT, UPDATE, MERGE 以及 DELETE 语句都使用相同的语法 LOG ERRORS [INTO [schema.]table] [('simple_expression')] [REJECT LIMIT integer|UNLIMITED] 可选的INTO子句允许指定error logging table 的名字。如果省略它,则记录日志的表名的将以"ERR$_"前缀加上基表名来表示。 simple_expression表达式可以用于指定一个标记,更方便去判断错误。simple_expression能够为一个字符串或任意能转换成字符串的函数 REJECT LIMIT 通常用于判断当前语句所允许出现的最大错误数。缺省值是0,最大值则是使用UNLIMITED关键字。对于并行DML操作而言,REJECT LIMIT 会应用到每个并行服务器。 二、使用限制 下列情形使得DML error logging 特性失效 延迟约束特性 Direct-path INSERT 或MERGE 引起违反唯一约束或唯一索引 UPDATE 或 MERGE 引起违反唯一约束或唯一索引 除此之外,对于LONG,LOB,以及对象类型也不被支持。即使是一个包含这些列的表被作为错误日志记录目标表。 三、示例 下面的代码创建表并填充数据用于演示。
Leshami
2022-03-14
491
0
关于隐式转换
sql
sql server
数据库
编程算法
昨天,一个读者向我提交了一个问题,请我就SQL server 隐式转换发表一些看法。当SQL server遇到一个不匹配类型的表达式的时候,它有两种选择。它使用隐式转换并能够执行或者转换错误而导致执行失败。在深入隐式转换之前,让我们假定错误的情形。
Leshami
2022-03-08
727
0
MySQL字符集乱码
编程算法
云数据库 SQL Server
数据库
sql
版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/91175314
Leshami
2019-06-14
6.6K
0
Oracle 表缓存(caching table)的使用
oracle
缓存
编程算法
在通常的情况下,应用程序访问在cache中的数据块将按照LRU算法来进行处理。然而对于小表的访问,当使用全表扫描时,则该表
Leshami
2018-08-14
1.7K
0
使用 DBMS_PROFILER 定位 PL/SQL 瓶颈代码
sql
oracle
编程算法
对于SQL的优化,可以借助于SQL tuning advisor实现自动SQL优化与调整。而对于PL/SQL代码而言,既有SQL代码,又有PL/SQL代码,仅仅使用10046事件是远远不够的,因为可能SQL时间很短,而整个包或过程执行时间N久,而且包或过程中又嵌套有其他包,过程,函数。看得你头皮发麻。尽管没有工具可以直接作用于PL/SQL代码进行优化,但借助于PL/SQL PROFILER来定位你的代码块中哪些部分是性能瓶颈就已经达到了事半功倍的效果。本文首先描述了安装PROFILER,接下给出
Leshami
2018-08-13
720
0
Oracle 集群心跳及其参数misscount/disktimeout/reboottime
oracle
编程算法
linux
unix
在Oracle RAC中,可以从多个层次,多个不同的机制来检测RAC的健康状况,即可以通过心跳机制以及一定的投票算法来隔离故障。如果检测到某节点失败,则存在故障的节点将会被逐出集群以避免故障节点破坏数据。本文主要描述了Oracle RAC下的几种心跳机制以及心跳参数的调整。
Leshami
2018-08-13
1K
0
MongoDB 多键索引
mongodb
数据库
sql
云数据库 MongoDB
编程算法
更多参考 MongoDB 单键(列)索引 MongoDB 复合索引 MongoDB执行计划获取(db.collection.explain())
Leshami
2018-08-13
1.6K
0
Buffer cache 的调整与优化(二)
oracle
编程算法
缓存
Buffer cache 实际上细分为多个不同的Buffer cache,如keep pool,recycle pool,default pool,下面描述不同buffer cache的使用。
Leshami
2018-08-07
769
0
Percona XtraDB Cluster Strict Mode(PXC 5.7)
编程算法
在Percona XtraDB Cluster集群架构中,为了避免多主节点导致的数据异常,或者说一些不被支持的特性引发的数据不一致的情形,PXC集群可以通过配置pxc_strict_mode这个变量来实现。该变量的设置影响还是蛮大的。下文针对这个参数的不同设置进行描述,以及列出相关的具体影响。
Leshami
2018-08-06
1.6K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档