云和恩墨杨廷琨受邀在Oracle Groundbreakers会议分享高效SQL语句编写
10月30日,Oracle GroundBreakers APAC Virtual Tour 2020顺利召开,云和恩墨CTO杨廷琨受邀在大会上发表了以《高效SQL语句编写》为主题的演讲。这是杨廷琨第三年在Oracle APAC的大会上发表主题演讲。
今年的Oracle GroundBreakers由以往的线下会议改为了线上举办,让更多的行业专家、更广泛的技术爱好者能够参与到大会中来。本次大会历时11天,共有124位专家进行了分享,涉及10个领域,是一场不容错过的技术盛宴。
调查显示,SQL是目前第二大编程语言,自诞生的40多年以来一直发挥着重要的作用,有50%的开发者都在使用SQL。虽然使用非常广泛,但是SQL的质量却参差不齐,并不令人满意。
根据经验,80%的数据库问题是由于SQL引起的,而80%的SQL问题来自于20%的SQL语句。在一些高并发高负载的系统中,由于一条SQL的性能问题导致数据库整体出现异常的情况屡见不鲜。
因此,杨廷琨老师以《高效SQL语句编写》为主题展开分享,希望帮助更多的开发人员可以书写出高效的SQL语句。
本次分享主要包括四个部分:
-
合理运用新特性
可以避免重复访问数据,合并简化执行操作过程,缓存中执行间结果,减少自关联,高效灵活的处理一些复杂问题。因此,充分理解新特性的功能以及其适用场景,是书写高效SQL语句的基础。
-
数据集整体处理
SQL本身是描述性语言,大部分情况下使用SQL的时候并不需要特别关注每行数据如何去处理,将数据整理处理作为思路,会发现SQL的性能会更好,而且很多时候SQL的写法也会更加简洁。
-
设计SQL执行计划
好的性能是设计出来的,因此如果想写出高效的SQL语句,要从一开始就考虑好这个SQL的执行计划,驱动表是谁,采用何种JOIN方式连接到被驱动表。设计思路是一方面,另一方面是保证执行计划符合设计思路,这时候就需要用到提示的功能。熟悉提示的功能,可以更好的控制SQL的执行路径,绕过bug或性能问题,强制SQL按照设计思路去执行。
-
严格过滤数据
过滤不必要的数据对于提升SQL的性能非常重要,通过严格的数据过滤,消除不必要的数据,执行时间和逻辑读都会有显著的提升。
如果想要更加深入地学习,可以参考墨天轮课程《云和恩墨大讲堂-高效SQL语句编写》
(课程截图)
另外,杨廷琨老师将在11月20-21日举办的第十届数据技术嘉年华的“智能自治:数据库技术前沿”分论坛上以《Oracle InMemory功能演进及最佳实践》为主题进行分享,共议数据库智能未来。
数据技术嘉年华,汇聚业内多种数据库最佳实践和顶级技术专家,只为总结2020,与您尽享技术前沿,领先一步卓立变革潮头!