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月份
  • 相关阅读:
    HTML5 实现Link跳线效果
    在TWaver的Tree节点上画线
    用TWaver加载大型游戏场景一例
    22万个木箱!TWaver 3D极限压榨
    如何在MONO 3D寻找最短路路径
    如何创建TWaver 3D的轮廓选中效果
    巧用TWaver 3D 矢量图形功能
    如何实现TWaver 3D颜色渐变
    HDU 1390 Binary Numbers
    HDU 1328 IBM Minus One
  • 原文地址:https://www.cnblogs.com/echo/p/329508.html
Copyright © 2011-2022 走看看