Oracle数据库调优总结
oracle采用物理读和逻辑读,第一次查询数据库采用的是物理读,以后如果使用相同的sql语句查询,那么它会采用逻辑读,直接从内存中读取数据。
采用执行计划查看执行顺序和耗时:一般查看object name、cost、time、Cardinality;先查看执行顺序,一般层级最小的description最新执行,然后调优cost最大的句子(一般是用等价代换和采用索引)。
1.尽量使用视图。
2.参考网上调优经验,使用等价代换替换查询速度慢的sql语句,一般like,not in或in,order by,group by等比较耗时。
3.不要一次性全部查询出来,要多少个列,就从查询的表中取出多少个列,这样会减少检索时间。
4.使用索引会大大的提高检索速度,如果一张表中存在主键,那么它默认是索引;如果在where语句存在多个组合条件,试着添加联合索引(不过要尽量少使用联合索引)或者单索引。
1)Oracle的一般使用B-Tree索引。
5.使用sqlplus查看执行时间和追踪执行过程,set timing on:查看时间,set autotrace traceonly追踪执行过程,执行这两句sql以后,再执行查询的sql;不过要注意,如果服务器上跑着其他业务消耗cpu,所以可能会消耗查询时间,这个要视具体情况而定。
创建视图:
create or replace view view_name as
select * from table_1 where id=1;
视图就是相当于一些sql语句,也可以把查询结果理解为视图。
创建数据库连接(dblink):
CREATE DATABASE LINK DBLINK
CONNECT TO USERNAME IDENTIFIED BY PASSWORD
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HOSTIP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =ORCL)
)
)';
存储过程:
存储过程就是相当于在查询时,可以传入参数,并且可以进行判断来进行组合sql语句,存储过程一般配合Cursor使用。
插入数据:
insert into table(column1,column2)
select column1,column2 from table2;
insert into table(colunm1,column2) values(value1,value2);
左连接:
select t1.* from table_1 t1 left join (select * from table_2 ) on t1.id=t2.id。
这个是以table_1为主表,会列出table_1中所有的行,然后再用table_1的id去检索table_2的表,如果存在一行记录table_1的id等于table_2的id,那么就在table_1中的id这一行的后面加上table_2中相等的行的列。如果table_2中多行相等于table_1中的id,那么就添加多行。
更改表字段属性:
alter table table1 modify column varchar(64);
删除表索引:
drop index IDX_NAME;
使用over函数去除重复内容:
select * from (select * ,row_num() over(partition by column1 order by column2) as rn from table1) where rn=1
可以使用as来对列进行重命名。
Oracle数据库调优总结的更多相关文章
- c 语言写的高级Oracle®数据库调优及监控工具
http://www.lab128.com.cn/lab128_why.html ###另外一款ORALCE Monitor tool freee https://www.myorasql.com/ ...
- Oracle SQL 调优健康检查脚本
Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...
- MySQL面试必考知识点:揭秘亿级高并发数据库调优与最佳实践法则
做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟 ...
- Oracle SQL调优记录
目录 一.前言 二.注意点 三.Oracle执行计划 四.调优记录 @ 一.前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太 ...
- [转]10分钟梳理MySQL知识点:揭秘亿级高并发数据库调优与最佳实践法则
转:https://mp.weixin.qq.com/s/RYIiHAHHStIMftQT6lQSgA 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离 ...
- Mysql数据库调优和性能优化的21条最佳实践
Mysql数据库调优和性能优化的21条最佳实践 1. 简介 在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响.MySQL是目前使用最多的开 ...
- 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)
记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ...
- [转]oracle性能调优之--Oracle 10g AWR 配置
一.ASH和AWR的故事 1.1 关于ASH 我们都知道,用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图 ...
- 一个InnoDB性能超过Oracle的调优Case
年前抽空到兄弟公司支援了一下Oracle迁移MySQL的测试,本想把MySQL调优到接近Oracle的性能即可,但经过 @何_登成 @淘宝丁奇 @淘宝褚霸 @淘伯松 诸位大牛的指导和帮助(排名不分先后 ...
随机推荐
- 通过一个例子感受C# 6.0新特性
微软在Visual Studio 2015中更新C#语言到6.0,添加了很多很好的特性,以使C#语言继续跻身于最优秀语言之行列.下面通过一个例子快速感受一下C# 6.0的新特性,以下程序在VS2015 ...
- tomcat启动时就频繁gc和full gc
一个小业务,流量并不大,功能也很简单,spring framework+mybatis+quartz,一启动就看到gc的频次和full gc的频次非常高: 4.202: [Full GC 4.202: ...
- Spring AOP 简单入门笔记 (转)
分享一个自己写的最为简单的Spring AOP的应用,其实,本人也是学习Spring不久,只是把一些个人的理解分享下,供参考.可能很多人刚开始不太理解到底啥是AOP,其实它也是相对 OOP来说的,类似 ...
- PostgreSQL 表空间
PostgreSQL 表空间 一 介绍使用表空间可以将不同的表放到不同的存储介质或不同的文件系统下,实际上是为表指定一个存储的目录.创建数据库,表,索引时可以指定表空间,将数据库,表,索引放到指定的目 ...
- 常用脚本--查看死锁和阻塞usp_who_lock
USE [master] GO /****** Object: StoredProcedure [dbo].[sp_who_lock] Script Date: 02/07/2014 11:51:24 ...
- sql-修改每条数据的某一个字段的值
update B set B.maildata =(select SUBSTRING(maildata,0,3) from basedata where basedata.cid = B.cid)+( ...
- DOORS的引用类型
DOORS的引用类型包括:Project: 项目引用Folder: 文件夹引用Item: 项目或文件夹之内的项(项目.文件夹.模块)Module: 打开模块的引用Object: 对象的引用 ...
- mac下wordpress环境搭建
mac下本来就有apache和php,只需要配置以下+安装mysql 1.Apache 预装目录在 /etc/apache2: 默认的网站目录在 /Library/WebServer/Documen ...
- SHOI2013 扇形面积并
题目链接:戳我 补一张图 我们尝试把圆上的扇形转化成直线上的矩形--我们维护[1,2*m]的区间,那么每个能产生贡献的子区间的长度*第K大的半径的平方的总和就是answer了. 怎么转化呢?左端点为a ...
- docker 存储驱动之 overlay2
overlay2 简介 OverlayFS是一种和AUFS很类似的文件系统,与AUFS相比,OverlayFS有以下特性: 1) 更简单地设计 2) 从3.18开始,就进入了Linux内核主线 3) ...