快捷方式:关注本公众号,回复:yangtingkun ,即可获得大会PPT下载。

2018 Oracle Code 于5月17日在新加坡拉开帷幕。作为全球开发者交流分享的年度盛会,为吸引所有领域的开发者,Oracle今年将自1996年开始的JavaOne大会更名为 Oracle Code One,涵盖全行业的高端技术人才。

云和恩墨CTO杨廷琨受邀参加,并在大会上发表主题演讲《How to write an efficient SQL》。

调查显示,SQL是目前第二大编程语言,自诞生以来40多年一直发挥着重要的作用,有50%的开发者都在使用SQL。虽然使用非常广泛,但是SQL的质量水平却并不令人满意。

根据经验80%的数据库问题是由于SQL引起的,而80%的SQL问题来自于20%的SQL语句,在一些高并发高负载的系统中,由于一条SQL的性能问题导致数据库整体出现异常的情况屡见不鲜,这也是杨廷琨本次选择这个主题的原因,希望帮助更多的开发人员可以书写出高效的SQL语句。

本次主题包括四方面的内容:合理的使用新特性;数据集整体处理;设计SQL执行计划;严格过滤数据。

合理的使用新特性,可以避免重复访问数据,合并简化执行操作过程,缓存中执行间结果,减少自关联,高效灵活的处理一些复杂问题。因此,充分理解新特性的功能以及其适用场景,是书写高效SQL语句的基础。

SQL本身是描述性语言,大部分情况下使用SQL的时候并不需要特别关注每行数据如何去处理,将数据整理处理作为思路,会发现SQL的性能会更好,而且很多时候SQL的写法也会更加简洁。

好的性能是设计出来的,因此如果想写出高效的SQL语句,要从一开始就考虑好这个SQL的执行计划,驱动表是谁,采用何种JOIN方式连接到被驱动表。设计思路是一方面,另一方面是保证执行计划符合设计思路,这时候就需要用到提示的功能。熟悉提示的功能,可以更好的控制SQL的执行路径,绕过bug或性能问题,强制SQL按照设计思路去执行。

过滤不必要的数据对于提升SQL的性能非常重要,对于一个计算10000以内质数的SQL,未经优化前需要1分12秒的执行时间,消耗17万逻辑读。

通过严格的数据过滤,在运行的第一步消除不必要的数据,最终优化后的SQL只需要0.05秒,消耗461的逻辑读,执行时间和逻辑读都有几百倍的提升。

杨廷琨先生是中国地区的第一批Oracle ACE总监,也是 ITPUB 论坛上最活跃的分享者之一,他日均一篇的博客更新坚持了10年之久,影响了很多Oracle DBA和开发者的学习和成长,他在SQL开发方向的积累丰富,对于性能和效率具有深刻理解。

杨廷琨先生作为中国地区技术的杰出代表,与来自世界各地的开发精英以开放的心态,共享技术成果,期间着重强调书写高效SQL的秘诀,除了之前介绍的四点之外,还要下面三个因素:多写多练:熟能生巧;深思熟虑:算法为王;坚持不懈:优化无止境。


资源下载

关注公众号:数据和云(OraNews)回复关键字获取

2018DTCC , 数据库大会PPT

2017DTC,2017 DTC 大会 PPT

DBALIFE ,“DBA 的一天”海报

DBA04 ,DBA 手记4 电子书

122ARCH ,Oracle 12.2体系结构图

2017OOW ,Oracle OpenWorld 资料

PRELECTION ,大讲堂讲师课程资料

杨廷琨Oracle Code大会分享:如何编写高效SQL(含PPT)相关推荐

  1. 干货分享丨高效SQL语句编写-Oracle Code 2019中云和恩墨CTO杨廷琨的分享

    导读:Oracle Code 2019 开发者大会于4月16日在深圳举行,这是甲骨文公司在中国举办的第三届Oracle Code 开发者大会.大会主要面向IT架构师和开发人员,旨在帮助开发人员深入了解 ...

  2. 分而治之:Oracle 18c 及 12.2 分区新特性的 N 种优化实践(含PPT)

    关注"数据和云",精彩不容错过 本文根据 杨廷琨 2018 年 5 月 11 日在[第九届中国数据库技术大会]上的演讲内容整理而成,关注公众号并回复 "Yangtingk ...

  3. 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)

    最近,Oracle数据库优化器的产品经理 Nigel Bayliss 发布了一篇文档,介绍:Setting up the Oracle Optimizer for PoCs - 在PoC测试中优化器参 ...

  4. oracle 1天后,Oracle Code One - 第1天 精彩亮点回顾

    原标题:Oracle Code One - 第1天 精彩亮点回顾 原文作者:Padmini Murthy 产品营销总监 2018年Oracle Cod Oracle CodeOne大会实况 – 第1天 ...

  5. 【回顾、感恩、展望】Oracle技术大会暨38周年庆典

    2015年07月23日,甲骨文中国如期举行了隆重的Oracle数据库大会庆祝公司38周年,这在国内尚属首次.大会分享的主题是:回顾.感恩.展望,寓意通过回顾过去的辉煌,感恩一路同行的忠实用户,展望Or ...

  6. Oracle Code登录北京 代码盛宴邀你high起来|免费报名

    盛夏北京,将迎来 Oracle Code 北京站活动.作为贯穿全年.横跨全球的 20 场活动中的一场,北京站汲取各地 Oracle Code 精华,结合国内开发者社区现状和需求,呈现一场代码盛宴. 来 ...

  7. oracle sql一直在执行吗,方法分享:查询Oracle正在执行和执行过的SQL语句

    摘要 腾兴网为您分享:方法分享:查询Oracle正在执行和执行过的SQL语句,雨课堂版,易星期货,信用白条,相机美颜等软件知识,以及oppo刷机精灵,爱乐奇少儿英语app,配对小游戏,爱婴斯坦,备份大 ...

  8. Oracle Gateway使用分享

    Oracle Gateway使用分享 1.背景说明 公司一直会碰到异构数据库的连接问题,比如Oracle需要dblink as400,dblink DB2,如果此些数据库版本比较老的话,在linux ...

  9. [论文阅读] (04) 人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术

    外滩大会 AI安全-智能时代的攻守道 Deep Learning Security: From the NLP Perspective 浙江大学 <秀璋带你读论文>系列主要是督促自己阅读优 ...

最新文章

  1. 树莓派/香橙派自建本地DNS加速解析
  2. HW2017笔试编程题
  3. Xamarin.iOS调试提示需要iOS SDK
  4. [CF]Codeforces Round #528 Div.2
  5. MySQl 8.0.13版本修改密码
  6. 《系统集成项目管理工程师》必背100个知识点-18项目管理计划的ITTO
  7. java plus方法_Java.math.BigDecimal.plus()方法实例
  8. NodeJS仿WebApi路由
  9. openfire:openfire单独编译指定插件的方法
  10. [Android 4.4.3] 泛泰A860 Omni4.4.3 20140610 RC2.0 三版通刷 by syhost
  11. tomcat服务器拒绝访问文件,tomcat拒绝访问特定文件
  12. python入门到精通 _6文件读写
  13. AD18 如何生成装配图
  14. 数据资产运营 = 数据资产盘点 + 数据治理 + 数据价值实现
  15. 基于金鹰优化算法的函数寻优算法
  16. python协同过滤可以预测吗_基于用户的协同过滤推荐算法原理-附python代码实现...
  17. [RK3288][Android6.0] USB OTG模式及切换
  18. 魔术克篮网实现反超 开拓者卡位战加时胜灰熊
  19. 【游戏开发实战】Unity使用ShaderGraph配合粒子系统,制作子弹拖尾特效(Fate/stay night金闪闪的大招效果)
  20. CSS控制字符串换行(汉字好象不行)

热门文章

  1. 2017年大白菜系统操作说_为什么操作系统在2017年更重要
  2. 医生们团结一致,以增加对优质健康信息的访问
  3. 优雅 | koa处理异常
  4. java fx消息通知_如何设置对话框控件Java FX / Java 8的图标
  5. 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程
  6. ajax多选下拉,模拟select下拉框之多选(数据源采用模拟Ajax数据--原创)(示例代码)...
  7. mysql rowid踢重_MySQL中主键与rowid的使用陷阱总结
  8. c++ 中变量成员的初始化时机
  9. 小K的农场(差分约束)
  10. 【Python3之内置函数】