技术人生——第5集:剑破冰山,DTCC来相见
剑破冰山露,书成天下知。 京城初会面,相见恨晚时。 传道且授业,不求人所思。 江城风雨夜,善缘暖心脾。
技术人生——第4集:一键之便,惊天之变
便捷藏杀机,一键酿惨凄。 幸得知遇主,未曾罪责及。 泣血书万字,以身为前梯。 分享开新路,出书终可期。
技术人生——第3集:穿越救赎,因祸得福
星夜赴危难,回溯挽狂澜。 我心怀忐忑,君言暖心田。 补牢思长远,铁律记心间。 利他结善缘,我心甚安然。
技术人生——第2集:膨胀自信,午夜凶铃
卷中寻真理,灯下悟玄机。 代码显神通,运维变轻松。 骄兵多致败,一念入牢笼。 午夜凶铃响,方寸已乱离。
技术人生——第1集:机械出身,我不机械
汗手弃机械,码农写日夜。 系统忽崩溃,众人皆无解。 孤身探虎穴,书海寻真诀。 临危受重任,开启新一页。
通用SQL开发的利器——MERGE(下)Merge妙用
本文通过三个案例展示了SQL中MERGE语句的巧妙运用。案例1中,通过构造虚拟表并使用MERGE语句,实现了表中两条记录的NAME字段互换...
通用SQL开发的利器——MERGE(中)Merge误区
使用Oracle的MERGE语句时,存在几个常见的误区需要注意。首先,MERGE语句要求ON条件中的字段具有唯一性,否则会导致ORA-30926错误...
通用SQL开发的利器——MERGE(上)Merge初探
MERGE 是 Oracle 数据库中的一种 SQL 语句,能够在单条语句中同时执行插入和更新操作,简化了传统需要多条 SQL 语句或复杂逻辑的实现方式...
DBA,数字世界的“医生”——跨越碳基与硅基的对话
当凌晨三点的告警铃声将你从梦中惊醒,面对“系统卡顿、业务中断”的紧急呼叫时,你是否曾感到自己像一名冲向急诊室的医生?本文将以一个新颖而深刻的视角,详细剖析数据库管理员(DBA)与医生这两个职业之间惊人的相似性...
“我“与”AI”的四象限破局之路(2025.07.06更新)
摘要当AI从一个遥远的概念,变成我们IDE里的Copilot、会议室里的纪要员、设计稿里的灵感生成器时,一场深刻的身份危机正在技术圈弥漫。我们是走向了被工具无限“内卷”的黄昏,还是迎来了与新物种共舞进化的黎明?本文记录了一场发生在深夜的激辩与对话,试图通过一个“人机四象限”模型,为你我这样的普通人,找到在这场史诗级变革中安身立命的坐标与未来进化的路径。引言 :深夜咖啡馆的激辩小明:(兴奋地晃着手机
Oracle 逻辑结构与性能优化(下)
通过上集的学习,我们已经了解了Oracle逻辑结构的理论基础,掌握了块(Block)、区(Extent)、段(Segment)、表空间(Tablespace)等核心概念,并理解了行迁移、行链接等现象的成因机制。理论武装了头脑,但真正的价值在于实战应用。正如古语所言:"纸上得来终觉浅,绝知此事要躬行。"接下来,我们将从理论的殿堂走向实践的战场,通过一系列精心设计的真实案例,深度剖
Oracle 逻辑结构与性能优化(上)
本文探讨了Oracle逻辑结构与SQL优化的关系,重点分析了数据块(BLOCK)层面的优化技术。通过实验验证,一个8KB数据块最多可存储736行数据(每行最小长度约11字节)。文章详细介绍了行迁移和行链接的成因及优化方法:行迁移可通过重构表数据消除,逻辑读可从219降至116;行链接则需增大块尺寸解决。实验表明,将表迁移至16KB表空间后,行链接问题完全消失。这些优化技术能显著提升SQL查询性能...
论索引影响性能的一面⑤(全文完):索引失踪之谜【下】
继上期分析四种索引失效场景后,本文继续侦查新的隐秘索引"失踪"案件。重点剖析了反向键索引的范围查询失效现象,揭示其在等值查询表现良好但无法支持范围扫描的特性...
论索引影响性能的一面④ 索引失踪之谜【上】
本文通过四个数据库索引失效的典型案例,揭示索引“失踪”背后的真相...
论索引影响性能的一面③ 索引开销与经典案例
本文探讨了索引使用不当引发的性能问题。展示了索引并行属性未及时取消导致查询资源争用,建议通过HINT方式临时启用并行而非固化在索引属性中。此外还对比了分区表与普通表的插入性能,证明在存在多个索引的情况下,分区表的局部索引只需更新相关分区,从而提升插入效率...
论索引影响性能的一面②索引的使用失效
索引失效分为逻辑和物理两种类型。逻辑失效包括:1)索引返回过多数据导致效率低于全表扫描;2)索引列发生类型转换(如varchar字段与数字比较);3)对索引列进行运算操作。物理失效包括:1)调整long列为clob导致索引失效;2)move操作后需重建索引;3)分区表操作(truncate/drop/split/exchange等)可能导致全局/局部索引失效,使用update global indexes可避免全局索引失效...
论索引影响性能的一面①索引的各种开销
任何事物都有它的两面性,索引也不例外,本文我们主要来阐述索引的坏处。 在数据库系统中,索引对查询的性能比较好,不过如果更新语句出现,索引的缺点将很明显。因为索引本身是有序的,而更新数据的过程中也要更新索引,更新完后还要保持索引的有序性,这就需要付出很大的开销了,索引不好的一面就从这里开始显示出来了...
左右SQL执行计划妙招 ⑲(全文完) ——执行计划的固定
探讨如何通过Oracle的OUTLINE大纲技术强制固定执行计划。通过对比有无NOT NULL约束的场景,展示优化器对索引访问方式的选择差异。添加NOT NULL约束后,INDEX FAST FULL SCAN成本显著降低(292→49),但通过创建大纲可强制维持全表扫描计划。大纲技术适用于统计信息无法修正执行计划时的场景,提供稳定执行路径控制。
左右SQL执行计划妙招 ⑱ ——执行计划改变之其他相关手段2_预估索引效果
本文介绍了利用虚拟索引技术评估索引建立效果的方法。通过创建"nosegment"虚拟索引,可以在不实际占用存储空间的情况下,获取优化器对索引的使用计划和成本估算。案例对比显示:虚拟索引使查询成本从307降至5,降幅达98.4%,证实了索引的有效性。该技术解决了数据库管理员在索引建立决策中的核心痛点,为索引优化提供了零成本的预评估手段。
左右SQL执行计划妙招 ⑰ ——执行计划改变之其他相关手段1_set_table_stats
本文介绍使用SET_TABLE_STATS快速修正SQL执行计划偏差的方法。当统计信息不准确导致优化器选择错误驱动表(如将大表T2误判为小表)时,传统重收集统计信息方案存在性能风险。通过SET_TABLE_STATS直接设置表统计信息(如修正T2为200万行),无需收集统计信息或修改SQL,即可使优化器选择正确的小表驱动连接方式...