百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

分享一款Oracle数据库SQL调优工具--SQLBooster

sinye56 2024-10-07 14:23 3 浏览 0 评论

概述

我们在进行SQL调优时经常需要花费大量时间进行问题分析和定位,找到性能瓶颈后,再根据调优规则以及以往累计的知识和经验对语句进行优化,最终解决SQL性能问题。

而SQL调优对于一个缺乏经验的开发者或DBA来说,面对一条存在性能问题的语句、尤其是结构复杂的语句,往往会觉得无从下手。即使是对于经验丰富的DBA来说,优化一条语句也是一项比较消耗时间的工作。

下面介绍一款SQL调优工具--SQLBooster

地址:www.SQLFast.com

PS:simple steps to get a free full license!

  1. Download the latest version of SQLBooster, get a free trial license;
  2. Use SQLBooster to tune your SQL;
  3. Write a blog about your tuning, and sent the blog URL to sqlfast@gmail.com

1、下载并安装

下载完成后,运行安装包,你就可以使用这款软件了。

第一次运行时,会要求你输入注册码。你可以免费获得一个30天试用的注册码

可能这款软件的界面做得并不华丽,但它的功能很全面,正是我们所需要的。

要注意的是,要使用这款软件,你最好有两个数据库帐号:一个执行目标语句的账号;一个拥有更高权限、可以查看系统视图和参数的账号(最好拥有DBA角色)。当然这两个账号也可以是同一个。


2、使用

登录数据库后,你可以通过它的查看当前会话(点击查看)的功能找到长时间运行的语句,也可以通过热门预计排行(点击查看)功能找到当前或者历史的Top SQL。

找到问题语句后,就可以将语句结构化,然后从叶到枝再到根进行性能瓶颈分析了。它的使用很简单,基本上只需要鼠标点击几个按钮就可以完成。

分析结束后,你就可以查看分析结果、快速找到语句的性能瓶颈了。由于这是一个自底向上的分析过程,也就是说它从最底层的最小单元的子语句开始分析、逐步将上层主语句加入、最后分析原语句本身。因此在分析结果中,看到最先出现性能问题的子语间通常就是我们要找的性能瓶颈。

下面显示了一条复杂语句分析后的结果,上方左面是语句的结构;右边是点击节点后构造出的子语句;下方就是语句分析结果。Ctrl+点击分析结果中的Extra Info字段还可以看到给出的调优建议。你可以采纳这些建议、也可以凭借自己的经验去优化问题子语句。

对子语句 实施优化手段后(例如创建索引、增加提示),可以直接运行优化后的子语句检测优化效果。如果对结果满意,就可以将其实施到原语句当中去。

此外,该软件还有一些其它非常实用的功能,例如查看热门等等事件(点击查看)、查看锁阻塞树(点击查看)、应用SQL Profile进行调优(点击查看)等等。


可以看到,有了一个这样的调优工具后,你需要进行人工干预的地方很少,大多数步骤都交由这个工具帮你完成。使得你的语句调优工作变得更有针对性、更有效率、也更加准确。即便是对于新手来说,也可以迅速、独立的完成语句调优任务!

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下!

相关推荐

linux 查看当前应用内存状况,以及内存参数含义

1、查看进程号ps-ef|greptomcat2、查看当前内存分配,200ms打印一次jstat-gc进程号2001jstat-gc344802001S0CS1C...

如何显示 Linux 系统上的可用内存?这几个命令很好用!

在Linux系统中,了解可用内存是优化系统性能、故障排查以及资源管理的重要一环。本文将详细介绍如何在Linux系统上显示可用内存,包括多种方法和工具的使用。在讨论可用内存之前,我们需要了解一些...

Linux 下查看内存使用情况方法总结

Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内...

2、linux命令-用户管理

linux命令-用户管理用户切换[root@eric~]#sueric#切换到用户eric[eric@ericroot]$[eric@ericroot]$su#切换到rootPas...

Centos 7 进入单用户模式详解

1、开机在启动菜单按e进入编辑模式找到linux16行,在最后添加init=/bin/sh编辑完后,按ctrl+x退出2、进单用户模式后,使用passwd修改密码,提示以下错误:passwd:Aut...

每日一个Linux命令解析——newusers

newusers:在Linux系统中,newusers是一个用于批量创建用户的命令。它从一个文件中读取多行用户信息,每行描述一个用户的详细信息,并根据这些信息创建多个用户或对现有用户进行批量修改。一...

openEuler操作系统管理员指南:管理用户与用户组

在Linux中,每个普通用户都有一个账户,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义,其中最重要的是管理员账户,默认用户名是root。同时Linux也...

Linux用户管理

1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bash第一列:用户名第二列:密码位第三列:用户ID0超级用户UID。如果用户UID...

centos7基础-用户、组、权限管理

用户和组(1)用户、组、家目录的概念linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号。组类似于角色,系统可以通过组对有共性的用户进行统一管理。每个用户...

LINUX基础 ----------组及用户的概念

在Linux中,用户和组都是非常重要的概念,可以控制文件访问权限和资源的管理。用户是标识一个进程、应用程序或系统管理员的账号,Linux中每个用户用一个用户ID(UID)来标识。对于一个...

从零入门Linux(四)用户与权限管理

在Linux系统中,用户和权限管理是系统安全的重要组成部分。通过合理配置用户和权限,可以确保系统的安全性和资源的合理分配。以下是一些与用户和权限管理相关的常用命令和概念。1.用户管理1.1添加...

如何在 Linux 中管理用户?

在Linux系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资...

在 Linux 中将用户添加到特定组的四种方法

在Linux多用户操作系统中,用户组管理是系统安全架构的基石。通过合理的组权限分配,管理员可以实现:精确控制文件访问权限(chmod775project/)简化批量用户权限管理(setfacl-...

我不是网管 - 如何在Ubuntu Linux下创建sudo用户

Sudo用户是Linux系统的普通用户,具有一定的管理权限,可以对系统执行管理任务。在Linux中,root是超级用户,拥有完全的管理权限,但不建议将root凭证授予其他用户或作为r...

Linux创建普通用户,为密钥方式登录做准备

Hi,我是聪慧苹果8,就是江湖上人见人爱、花见花开,土到掉榨的Linux爱好者,一起学习吧!上一篇关于SSH安全加固的文字,有网友点评通过密钥登录更加安全,先创建一个普通用户,拒绝直接使用密码登录,这...

取消回复欢迎 发表评论: