zoukankan      html  css  js  c++  java
  • ORACLE10g查询性能的提升

    做了一个提升ORACLE10g的查询性能的项目。想了很多的办法但是效果都不是很好。期间走了很多的弯路。
    把一些心得记载如下:
    1、如果查询的数据占总数据的20%以上,索引就不起作用了。

    2、用SQL的分页查询和全部查出来在JAVA端分页,开始几页性能差别不大。
    只是数据量大的时候,JAVA端游标移动需要的时间很长。
    SQL分页的方法:
    select * from (select rownum r_id,t.*  from (" + sql + ") t where rownum <= " + intPageStart + ") where r_id >" + intPageSize;

    3、JAVA计算记录条数的方法。last操作和next操作到最后的时间基本相同。
    记录数多都很耗费时间。
         resultSet.last();
         dataCount = resultSet.getRow();    

    4、分区可以提高查询性能
    数据要比较平均的分布到不同的分区。
    查询条件要和分区相关。根据查询条件缩小需要检索的分区的数量。
    举例:
    电话清单的表按照城市和年月分区。
    pa partd1 大连市 06年1月份
    partition partd2 大连市 06年2月份
    partition partd3 大连市 06年3月份
    ...
    partition partd12 大连市 06年12月份
     
    partition parts1 沈阳市06年1月份
    partition parts2 沈阳市06年2月份
    partition parts3 沈阳市06年3月份
    ...
    partition parts12 沈阳市06年12月份
  • 相关阅读:
    宏大的目标
    java tcp ip网络编程(二) 套接字的基本使用
    java socket编程(一)简介
    是么是 API 和 SDK
    Mac 下显示隐藏文件
    iOS-事务相关
    iOS测试一段代码的运行时间
    sqlite3 语句总结
    iOS-scrollview及其子类适配iOS7
    OAuth2.0授权和SSO授权
  • 原文地址:https://www.cnblogs.com/echo/p/329508.html
Copyright © 2011-2022 走看看