大话IT | 征集绝活:你有哪些独家数据库优化技巧?

2018 年 4 月 4 日 数据库技术大会 征集绝活的

点击蓝色字关注"数据库技术大会" 一起玩耍哦~

关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂。对一个数据库来说,只能做到更优,不可能最优,并且由于实际需求不同,优化方案还是有所差异,所以,今天我们不妨畅所欲言聊聊你在数据库性能优化过程中有哪些独门绝技。


讨论问题:

您有哪些独家数据库优化技巧?


(参与形式:可发您整理的相关技术博文,可就某个数据库优化技术点讨论,也可以是您讲下您在业务处理中的一些数据库优化的习惯。可在后台留言投稿。(也可以邮件 wangnan@it168.com  、参与投稿。)

liyc444:

数据库优化工作一直是羡慕的份,自己做的比较少,但是看过很多大牛的培训资料,感觉高手一定是在架构设计、表设计、分布式以及sql改写方面的牛人。具体到自己,只能是利用工具简单的去做些工作,主要思路如下:

1、首先定位有问题的sql语句--开发人员主动告诉你,或者通过ash、awr、addm巡检检查;

2、对于有问题的sql语句检查相关引用表的统计信息是否准确(经验丰富的,通过执行计划就可判断统计信息是否准确)

3、对于有问题的sql语句,一定要看执行计划。执行计划查看方式好多种,这里只列举数据库相关的,(pl/sql dev  toad等开发工具自带的可以供参考)

    3.1 使用AUTOTRACE查看执行计划

    3.2 explain plan for select 语句

    3.3 显示高级执行计划

         SELECT * FROMTABLE(DBMS_XPLAN.DISPLAY(FORMAT=>'ADVANCED -PROJECTION'));

 

        高级执行计划可以看到QUERYBLOCK + OUTLINE DATA 

    3.4 显示特殊执行计划

        SELECT * FROMTABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST’));

    3.5 根据sqlid查看执行计划

  select *

  from table(dbms_xplan.display_cursor('8t2mm2acum4yk',

                                     null,

                                     'ADVANCED’));

4、根据执行该计划查看是否相关表走错了路径,产生笛卡儿积、有谓词推入、试图合并或者有大表被重复扫描等现象,以此来判断sql语句是建立相关索引还是

     改写等来优化(改写一般需要sql开发技能及熟悉业务)

5、个人优化的一些总结

    5.1 个人对sql开发技能比较差,一般对于sql优化大部分是建立索引来解决,但是索引需要了解单列索引、组合索引、函数索引、位图索引、反序索引等基本知识及应用场景。比如组合索引,那些列是适合放置在最前面的(一般是选择性较高的放置在租着索引列的最前面)

     

     5.2对于复杂的sql语句一般使用oracle 的sql tuning advisor(STA)来进行优化。可以解决一部分比较负责的语句。

     5.3 通过ADDM对于比较热的表缓存到cache中;

     5.4 通过awr整体调整SGA内存大小减少物理IO;

     5.5 sql改写只会一点with as。。。。

     5.6 加hint提示,让sql语句走并行(一般是单表)、索引、hash、nl等连接方式来改变语句的执行计划。

6 综合来说,sql优化的本质就是检检查IO次数--可惜,只有羡慕大牛的份~

   其他的oracle 可利用工具有sqlhcSQL 性能健康检查脚本 (SQLHC)(1626277.1)       及方法最佳实践:主动避免数据库和查询相关的性能问题(1549184.1


luckyrandom:

只有日常普通的方法,没有独家的方法。。继续学习

非常规套路例子:

    程序里在循环内反复查询相同参数的记录,导致QPS高及CPU繁忙

    程序里循环更新、插入数据,转为批量更新、插入数据


aloki:

Mysql数据库性能优化,可以从下面三点入手:数据库设计、SQL语句优化、架构优化

数据库设计优化包括:选择适当的字段类型、选择合适的引擎、适度的建立索引

SQL优化包括:使用慢日志,避免全表扫描,尽量避免在where子句中使用null值判断,不要做无谓的排序操作等

架构优化包括:合理的硬件资源和操作系统、读写分离

 

gycixput:

优化第一招:减少表的数据量。

优化第二招:减少数据访问量。

优化第三招:减少数据表之间关联。


看完了论坛网友的回复,

你有什么看法

欢迎在评论区留言你的优化技巧哦~


数领先机 智赢未来

DTCC2018

中国数据库技术大会(简称 DTCC)是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会,每年一届。自 2010 年以来,迄今已成功举办了八届,累计参与人次达到 20000+。DTCC 每年都将邀请百余位行业专家,就热点技术话题进行分享,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。


2018 年 5 月 10-12 日,第九届中国数据库技术大会(DTCC2018)将如约而至。本届大会以 “数领先机 • 智赢未来” 为主题,设定 2 大主会场及 20 个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨 Oracle、MySQL、NoSQL、大数据、机器学习、区块链、数据可视化等领域的前瞻性热点话题与技术。



点击左下阅读原文,立享购票8.8折优惠

登录查看更多
0

相关内容

数据库( Database )或数据库管理系统( Database management systems )是按照数据结构来组织、存储和管理数据的仓库。目前数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【硬核课】统计学习理论,321页ppt
专知会员服务
138+阅读 · 2020年6月30日
【斯坦福】凸优化圣经- Convex Optimization (附730pdf下载)
专知会员服务
221+阅读 · 2020年6月5日
面向司法案件的案情知识图谱自动构建
专知会员服务
125+阅读 · 2020年4月17日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
52+阅读 · 2019年12月31日
周志华教授:如何做研究与写论文?
专知会员服务
154+阅读 · 2019年10月9日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
开发、调试计算机视觉代码有哪些技巧?
AI研习社
3+阅读 · 2018年7月9日
智能时代,图像检索技术在美团APP中的应用分析
人人都是产品经理
9+阅读 · 2018年5月23日
如何系统地学习数据挖掘?
数据库开发
10+阅读 · 2017年10月22日
[学习] 这些深度学习网络调参技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月30日
Arxiv
5+阅读 · 2018年12月18日
Arxiv
4+阅读 · 2018年6月1日
Arxiv
9+阅读 · 2018年4月20日
Arxiv
4+阅读 · 2017年7月25日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【硬核课】统计学习理论,321页ppt
专知会员服务
138+阅读 · 2020年6月30日
【斯坦福】凸优化圣经- Convex Optimization (附730pdf下载)
专知会员服务
221+阅读 · 2020年6月5日
面向司法案件的案情知识图谱自动构建
专知会员服务
125+阅读 · 2020年4月17日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
52+阅读 · 2019年12月31日
周志华教授:如何做研究与写论文?
专知会员服务
154+阅读 · 2019年10月9日
相关资讯
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
开发、调试计算机视觉代码有哪些技巧?
AI研习社
3+阅读 · 2018年7月9日
智能时代,图像检索技术在美团APP中的应用分析
人人都是产品经理
9+阅读 · 2018年5月23日
如何系统地学习数据挖掘?
数据库开发
10+阅读 · 2017年10月22日
[学习] 这些深度学习网络调参技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月30日
Top
微信扫码咨询专知VIP会员