各位大虾:
    我现在有一张表,它存储的数据量要达到几百万,所以我想有没有办法可以解决表的访问速度,
另外还有一张表和上张表的数据量一样多,而且还有关联和其他的表,怎么解决访问速度的问题呀??
   希望大家给出可行的办法,谢谢了。

解决方案 »

  1.   

    注意你的sql语句
    很有讲究阿
    你可以去看看如何优化sql
      

  2.   

    to:  wangybyangxr(王永斌) 
    你好,谢谢你的提议,能不能说的更详细些呢
      

  3.   

    给个例子你看看:
    范围分区(通常使用与分区字段是日期类型的表)
    create table sales_range
    (
     salesman_id number(5),
     salesman_name varchar2(30),
     sales_amount number(10),
     sales_data date
    )
    partition by range(sales_date)
    (
     partition pt_sales1999_q4 values less than
    (to_date('01/01/2000','DD/MM/YYY'))
    tablespace sale1999_q4,
    pctfree 0
    storage (initial 100M next 100M pctincrease 0)
     partition pt_sales2000_q1 values less than
    (to_date('01/04/2000','DD/MM/YYY'))
    tablespace sale2000_q1,
     partition pt_sales2000_q2 values less than
    (to_date('01/07/2000','DD/MM/YYY'))
    tablespace sale2000_q2,
     partition pt_sales2000_q3 values less than
    (to_date('01/10/2000','DD/MM/YYY'))
    tablespace sale2000_q3,
     partition pt_sales2000_q4 values less than
    (maxvalue)
    tablespace sale2000_q4,
    )
    storage (initial 50M next 50M pctincrease 0  maxentents 4096)
    nologging
      

  4.   

    如果表有很多关联的话,写效率高的SQL语句也是很重要的
      

  5.   

    分区表有很多种,要根据自己表的特点来选取,给你一个例子,自己看吧:
    范围分区
    create table student_history
      (student_id number(10),
       degree     varchar2(3),
       graduation_date date,
       final_gpa number)
     partition by range(graduation_date)
      (partition p_1887 values less than
         (to_date('01-JUN-1887','DD-MON-YYYY')) tablespace hist_tab01,
       partition p_1888 values less than
         (to_date('01-JUN-1888','DD-MON-YYYY')) tablespace hist_tab02,
       partition p_1889 values less than
         (to_date('01-JUN-1889','DD-MON-YYYY')) tablespace hist_tab03,
       partition p_error values less than
         (maxvalue) tablespace hist_tab04
    );
      

  6.   

    合理的建立分区,索引,调整SQL。
    具体遇到问题再来问