SQL优化三板斧:精简之道、驱动为王、集合为本
发布时间:2021-01-08 07:15:01 所属栏目:安全 来源:网络整理
导读:《SQL优化三板斧:精简之道、驱动为王、集合为本》要点: 本文介绍了SQL优化三板斧:精简之道、驱动为王、集合为本,希望对您有用。如果有疑问,可以联系我们。 作者介绍 黄浩,现任职于中国惠普,从业十年,始终专注于SQL.在华为做项目的两年多,做过大大小小的
再次执行,耗时2:28,虽然与秒级的性能要求相距甚远,但是至少性能提升了近50%,其意义并在于提升的效果,而在于证明了优化方向是正确的,即在大表林立群狼环视虎视眈眈的环境中,要快速准确的定位出驱动表,需要明确将驱动表数据准备好. 第三板斧:神工鬼斧性能尚未达标,优化仍需继续. 先看看执行计划: 从COST列,并没有看到成本特别高的操作.所以,我放弃了继续在执行计划上做文章,转而深入分析SQL代码逻辑. 经过一番抽丝剥茧起承转合后,SQL的整体代码逻辑也呼之欲出,发现顶层的逻辑设计非常简单明了,就是三个子查询的结果集内连接,如下图所示: 接下来,我做了一件被人“鄙视”的小儿科的事,就是分别执行了这三个子查询.原本想着总会有一个慢的,我就重点优化慢的那个子查询.而结果却出人意表,三个子查询都是在2S左右就能完成执行,而且数据量都在1万以内.那为何三个子查询关联在一起,性能会如此受影响呢?要知道,如果是三个1万以内的表关联,即便是无任何索引,那也是秒出呀. (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |