数据库
文章平均质量分 83
携壶结客
少言深思践行
展开
-
SQL CASE WHEN语句性能优化
背景:性能应该是功能的一个重要参考,特别是在大数据的背景之下!写SQL语句时如果仅考虑业务逻辑,而不去考虑语句效率问题,有可能导致严重的效率问题,导致功能不可用或者资源消耗过大。其中的一种情况是,处理每日增量数据的程序,实际执行过程中可能会进行全表扫描,效率与全量程序并无二致。 案例: mio_log数据量:134,092,418条记录freph_a01_fromtask3数据量:原创 2013-07-28 23:55:52 · 32179 阅读 · 1 评论 -
索引覆盖分析
系统优化期间,需要找到优化后最能带来效益的点进行优化,这样才能从根本上提升系统运行效率。以下内容以某个保单增量处理程序逻辑进行分析。当前增量保单事实提取过程分为以下两步:a. 通过upd_time增量查询出各个关联表的增量cntr_id主键并插入tmp_f_cntr_v8_cntrrange临时表;b. 通过tmp_f_cntr_v8_cntrrange表与std_contract原创 2013-07-31 20:46:16 · 1328 阅读 · 0 评论 -
变更数据捕获方法讨论
SQL Server中记录数据变更的四个方法:触发器、Output子句、变更数据捕获(Change Data Capture )功能、同步更改跟踪。其中后两个为SQL Server 2008所新增。一、触发器原创 2013-08-06 15:17:21 · 1200 阅读 · 0 评论 -
重复数据删重技术
重复数据通常由于不恰当的数据完整性约束所导致,删重可以采用多种方法,而每种方法的效率取决于几个因素。一个是唯一行的重复数量(密度),另一个是整行都重复,还是只有一部分属性重复。以mio_log_tmp表为例,删重代码如下:--删除重复数据UPDATE mio_log_tmpSET incr_flag= 'z'WHERE upd_time( SELECT原创 2013-07-31 22:02:20 · 886 阅读 · 0 评论 -
运维小记
删除大量数据在单个事务中删除大量的数据有几个缺点。DELETE语句被完整地记录到日志,操作过程中日志不能够截断,要求在事务日志中有足够的空间以完成整个事务。而且,如果该事务因某种原因被中途中断,这之前发生的所有操作都将被回滚,而这也会花费一些时间。最后,当删除许多行时,数据库可能会把被删除行上的单一锁提升为排它表锁,以阻止DELETE完成之前对目标表的读写操作(在Profiler中监视Lock原创 2013-08-01 17:48:43 · 672 阅读 · 0 评论