使用索引
优化sga分配
增加temp表空间

解决方案 »

  1.   

    不好意思, 请问"优化sga分配"是什么意思? 具体怎么做? 为什么"增加temp表空间"会有用呢? 谢谢! :-)
      

  2.   

    再问一个问题: 索引的建立原则是不是: 把WHERE条件语句里涉及到的字段都建成索引?
      

  3.   

    sga: http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=19619
    temp表空间用来存放临时数据
    索引的建立需要遵循有效原则,并不一定建的越多越好,并且索引建的多会导致数据更新的效率降低
      

  4.   

    有些是
    但有的就不用,比如
    select * from c where aaa like '%abc';
    即使给aaa列创建索引,在此语句中也不使用索引。
      

  5.   

    bzszp(SongZip)说的好,where子句中尽量不要用<>,>,<,<=,>=,like和刷全表的语法;尽量把最严格的WHERE条件放到最后。索引在检索表中所有数据的10%左右时效率最高。
      

  6.   

    如果触发排序,可以考虑增大init.ora中
    sort_area_size ,sort_area_retained_size 参数值或者增加临时表空间建议根据字段在Where条件中出现的频率建立索引
      

  7.   

    合理建立索引:
    1、在查询条件中频繁使用的字段,考虑建立索引。2、在聚集函数中参数频繁使用的字段考虑建立索引,如:MAX,MIN。3、在多表连接条件的字段可以考虑建立索引。4、综合楼上各位所说。
      

  8.   

    索引并不是越多越好,最好不要超过1/3的字段数
    可以根据你的机器的内存,适当增大sga中的各个部分。
    temp表空间是用来做排序的。
    还可以优化你的文件布局,减少磁盘竞争。实际上,对于oracle的优化,对于提高性能的贡献并不是很大,多看看你的sql语句,也许你可以找到效率更高的sql语句,这对性能的提高可能会产生更大的影响。
      

  9.   

    数据库优化其实是一个很复杂的问题,不知道你的数据库是产品库吗?有备用库或备份吗?在优化之前首先要作的工作是分析数据库,找到性能瓶颈,再做出相应的优化措施。
        至于如何优化,在此我想很难用一两个篇幅能详细描述,因为,从你的描述无法获得准确的问题信息。而无法提供有效的解决办法。
        另外,看的出你提出这种问题是没有多少oracle数据库使用经验,奉劝不要听别人所说而贸然修改什么参数。否则,你的数据库可能连正常工作的可能性都没有。
       找本书,先好好看看吧。