对大表进行分区吧!系统扩容,如增加CPU

解决方案 »

  1.   

    1、数据量大可以考虑大表建分区(按年或月),再建立局部分区索引。2、可以考虑系统优化,如:SQL优化,碎片整理
      

  2.   

    不管怎么优化,数据大到一定的程度,速度总是会下降的。 fwjingling(蓝精灵) “ 目前的方法,备份,保证当前的表的容量为有限制。每个月备份表的数据,用户启用新表,可以保证速度。”但要查询统计数据怎么办呢,出的报表跨越时间段很长。
      

  3.   

    由于数据逐渐增多,导致整个系统执行速度下降,有比较好的解决办法吗!这个问题很难用几句话来回答,实在是太大的一个问题,包含太多的东西,但我想:
    (1)您应该尽最大努力去了解用户的业务,应该很清楚用户是如何使用你的数据库的,最好是整理一份事务字典。
    (2)您应该对ORACLE的体系结构很清楚,包括各种对象的特性,知道如何去合适的使用它的一些特性,如表分区、局部索引、位图索引、IOT、物化视图等等
    应该清楚哪些因素会影响系统性能,哪些因素是在设计开发阶段要注意的,如规范化(逻辑)与非规范化设计(物理)、对象的存储参数、应该创建哪些和何种索引、如何去写高效合适的SQL等等,哪些又是在运行、管理的阶段要考虑的,如:消除碎片影响、调整参数等。
    (3)(1)和(2)是矛盾的两个方面,所谓知己知彼、百战不殆啊
    (4)在解决(1)和(2)的两个矛盾时,注意把握一种平衡,数据库的任何一个特性用之过则不及,如适度使用索引,合理利用时间和空间,在不同的用户请求之间求得一种平衡,您不能把一个用户的查询请求从100s调到3s,而把其他用户的请求从1s带到了200s。 哈哈,是不是象玩游戏,您的平衡能力越高,水平越高。
      

  4.   

    ORACLE优化步骤(运行期):
    1、环境调整
    2、数据库服务器调整
    3、网络调整
    4、磁盘调整
    5、实例调整
    6、对象调整
    7、SQL调整