请教各位sql的查询排序区是不是PGA

解决方案 »

  1.   

    用UGA区域,如果UGA区域不够的话,使用临时表空间。如果是dedicate模式的服务器。UGA是在PGA中分配的
    对于shared模式的服务器,UGA是在large pool里分配的
      

  2.   

    分清楚你的服务器是什么模式,如果知道是什么模式,如果是shared就调整
    large_pool_size如果是专有dedicated
    pga_aggregate_target
      

  3.   


    如何查看shared和dedicated模式,我昨天刚在论坛里发表了一个。
    你可以看看“你的数据库是dedicated还是shared模式”同时10g提供ASMM功能,但是不是自动分配所有的内存,只是管理share pool, large pool, buffer cache,java pool和stream pool。
      

  4.   

    我的数据库是dedicated模式2楼说排序用UGA区域,那sort_area_size是什么,这个不是用做排序的吗
      

  5.   

    如果你的数据库连接使用的是dedicated的话,是不存在UGA的。SQL语句的排序,首先使用的是sort_area_size所指定大小的内存区域(如果你指定了这个参数的值)。如果没有指定sort_area_size的值,一般情况下,oracle会根据你所设置的PGA的大小自动分配排序所占用的内存空间,如果内存空间不够大,则ORACLE会利用临时表空间进行排序。如果使用临时表空间进行排序的话,那么性能是有很大程度的下降。
      

  6.   


    用UGA区域,如果UGA区域不够的话,使用临时表空间。 如果是dedicate模式的服务器。UGA是在PGA中分配的 
    对于shared模式的服务器,UGA是在large pool里分配的