zoukankan      html  css  js  c++  java
  • 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来对列进行重命名。

  • 相关阅读:
    Java SE
    Java SE
    Java SE
    Java SE
    Vocabulary: dockyard
    Vocabulary: Intercept
    Java SE
    MVG
    相关学习
    相机开发
  • 原文地址:https://www.cnblogs.com/callyblog/p/8579518.html
Copyright © 2011-2022 走看看