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的性能即可,但经过 @何_登成 @淘宝丁奇 @淘宝褚霸 @淘伯松 诸位大牛的指导和帮助(排名不分先后 ...
随机推荐
- 采购文件中 RFI、RFQ、RFP、IFB的区别
[PMBOK的描述] 采购文件用于征求潜在卖方的建议书.如果主要依据价格来选择卖方(如购买商业或标准产品时),通常就使用标书.投标或报价等术语.如果主要依据其他考虑(如技术能力或技术方法)来选择卖方, ...
- 基于Extjs的web表单设计器
由于这样工作和自身的一些原因很长一段时间没有写过博客了.最近想把自己前面一段时间搞出的一个表单设计器的相关经验或者经历记录下来.分享给大家,也算是对自己前2个月的一个总结回顾吧. 首先介绍一下开发此版 ...
- TypeScript白鹭引擎Egret防止按钮事件冒泡穿透
this.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (event) => { if (event.target!=this) return;/ ...
- 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决
系统原来引用的ICSharpCode.SharpZipLib是0.84版本的, 添加了2.3版本的NPOI引用后,报版本冲突错误,因为NPOI用的ICSharpCode.SharpZipLib是0.8 ...
- C#冒泡排序(完整代码)
百度百科 冒泡排序是笔试面试经常考的内容,虽然它是这些算法里排序速度最慢的 原理:从头开始,每一个元素和它的下一个元素比较,如果它大,就将它与比较的元素交换,否则不动. 这意味着,大的元素总是在向后慢 ...
- django drf 自定义jwt用户验证逻辑
新建Backend类 from django.contrib.auth.backends import ModelBackend from django.shortcuts import render ...
- sharepoint 2007 update sharepoint 2013 found old privillege not availabel
我们下面提及的升级方式是: 2007 > 2010 > 2013 > 2013: classic authentication à claims based authenticati ...
- 【文文殿下】洛谷P2408 不同子串个数
题目链接https://www.luogu.org/problemnew/show/P2408 SAM裸题,大力求就行了 #include<cstdio> #include<cstr ...
- 洛谷P3676 小清新数据结构题(动态点分治+树链剖分)
传送门 感觉这题做下来心态有点崩……$RMQ$求$LCA$没有树剖快我可以理解为是常数太大……然而我明明用了自以为不会退化的点分然而为什么比会退化的点分跑得反而更慢啊啊啊啊~~~ 先膜一波zsy大佬 ...
- 2018国庆YALI集训游记
想了想,像之前那样简略地叙述题意和做法,根本没讲清楚,没有任何意义,还不如写写自己的感受. 感觉YALI真的是一所挺不错的学校吧.总是能有一机房的julao轮番吊打你,总是能有集训队的奆佬来给你出dl ...