数据库是oracle,用Delphi开发的前台程序,查询的时候报“临时表空间不足”的错误,
查询的数据量大概有三四十万条的样子,请问一下可能是什么原因,怎么解决?
多谢了!

解决方案 »

  1.   

    优化SQL,比如索引先排序
    如果无法完全解决,那么需要扩大临时表空间。临时表空间的主要用途之一就是提供内存无法满足的排序
      

  2.   

    1、首先,尽量优化SQL,减少排序操作。因为排序首先会是在PGA中进行排序,如果PGA容量不够,将使用虚拟磁盘空间排序,这样就会极大的影响性能。
    2、如果大量数据排序首先确定的是否有多余的内存分配给PGA,如果有,可以增大PGA_AGGREGATE_TARGET参数值。
    3、如果有多余的磁盘空间,尽量扩大临时表空间。也可设置临时表空间为自动增长的。