• oracle数据库性能优化方案精髓整理收集回想


    oracle数据库性能优化整体法则:


    一、降低数据訪问(降低硬盘房訪问次数)

    二、返回更少的数据(降低网络传输或磁盘訪问)

    三、降低交互次数(降低网络传输)

    四、降低server开销(降低cpu及内存开销)

    五、利用很多其它的资源(添加资源)


    ===================详细说明=================

    一、降低数据訪问(降低硬盘房訪问次数)

    1、降低数据訪问

    1.1.创建并使用正确的索引

    索引会大大添加DML(增删改)的开销【合理的索引会大大提高效率100倍、1000倍,但不合理的索引甚至会降低性能100倍】

    一个表中能够有多个索引,一个索引也能够由多个字段组成


    会使用索引的情况:

    index_column>?

    index_column<?

    index_column=?

    index_column>=?

    index_column<=?

    index_columnbetween ? and ?


    index_columnin (?,?...?)

    index_columnlike ?||%'(后导模糊查询)

    t1.index_column= t2.culunm2(两表通过索引字段关联)


    不会使用索引的情况:

    index_column<>?

    index_columnnot in (?,?...?)

    --------------不等于不会使用索引

    function(index_column)=?

    index_column+1=?

    index_column||'aaa'=?

    --------------经过普通运算或者函数运算的字段不会使用索引

    index_columnis null

    ----------------索引不保存null值所以is null不会使用索引

    index_column=‘12345’

    index_column=12345

    --------------oracle在进行数值比較时候会将左右两边转换成同样类型,相当于使用了函数。不会使用索引

    a.index_column= a.column_!

    --------给索引查询的值应该是已知的。未知的是不会使用索引的

    常见的索引注意事项:

    须要加索引的:

    1、主键

    2、外键

    3、有对象或身份标识意义的字段


    慎用索引的:

    1、日期

    2、年月

    3、状态标识

    4、区域

    5、操作人员

    6、数值

    7、长字符


    不适合用索引的

    1、描写叙述备注字段

    2、大字段


    另外:

    常常在一起使用的几个查询字段能够建立组合索引

    如:select id,name from company where type='2';

    假设常常使用这个能够在id,name,type上建立组合索引;

    切记:性能优化无止境。

    当达到要求后就要适可而止,切勿物极必反


    二、更少的返回数据


    1、数据分页处理(client分页、server分页、数据库分页)

    2、仅仅返回须要的字段



    三、降低交互次数(batch提交。增大fech_size、使用存储过程)


    未完待续-------共同学习进步

  • 相关阅读:
    What is a Complex Element
    XSD(Schema)教程 [转]
    XML对WEB开发的意义
    System.Xml名称空间下的支持DOM的类型
    C#:XML操作类
    xsl:valueof select="." 什么意思?
    文档对象模型
    XSLT转换XML
    DTCMS添加栏目教程
    win8 Windows Media Player 启动后CPU占用率高(60%左右)的解决办法
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7268185.html
Copyright © 2020-2023  润新知