我想做一个商城的项目,需要用到的表大概在75张左右,其中有很多表的数据量都会很大,请问我创建表时是自己建立表空间好还是用USER这个表空间呢?需要多大合适呢?谢谢!小弟分不多了,请见谅~

解决方案 »

  1.   

    ----**表空间可以设定多个数据文件与之对应**,下面的例子只设定了一个----
    CREATE TABLESPACE "TEST" 
        LOGGING 
        DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\TEST.ora' SIZE 800M AUTOEXTEND 
        ON NEXT  20M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCALCREATE TEMPORARY TABLESPACE TEST_TEMP 
        TEMPFILE 'D:\oracle\product\10.2.0\oradata\orcl\TEST_TEST.ora' SIZE 800M AUTOEXTEND 
        ON NEXT  20M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
      

  2.   

    users表空间也不是系统表空间
    回楼主
    自己建表空间可以,多建几个分在不同的磁盘,减少io竞争;
    75个表也不多,使用系统默认的也可以
      

  3.   

    几个基本原则可以考虑一下:   
        
          DATA表空间与INDEX表空间分离   
                                            
          RBS表空间与DATA表空间分离   
                                              
          SYSTEM表空间与其他表空间分离   
        
          联机重做日志文件与数据文件分开存放     
        
          归档重做日志文件与   SYSTEM,RBS,INDEXES,   
          TEMP,DATA表空间分开存放,也要与联机重   
          做日志文件分离   
                                                    
          归档重做日志文件可以与小的静态文件一起存放   
        
          控制文件的I/O操作相对较少,但还是建议分布在   
          不同的磁盘驱动器上   
          (在init<SID>.ora中通过CONTROL_FILES指定)   
        
          如果有使用频繁的静态查询,将用到的索引   
          单独再建一个表空间INDEX2   
        
          一个优化过的方案:   
        
            1               Oracle软件   
            2.             SYSTEM表空间,控制文件1,TOOLS,INDEXES_2   
            3.             RBS,RBS_2表空间,控制文件2   
            4.             DATA表空间,控制文件3   
            5.             INDEXES表空间,TEMP,TEMP_USER,DATA_2表空间   
            6.             联机重做日志文件1,2,3,导出转储文件   
            7.             应用软件,归档重做日志目标磁盘       
        
          根据你的实际情况再做调整.   
    以上是复制的,不过写的不错,问题并不在于是系统的还是用户自建的.
    在于你要把可能有读写冲突的文件放到不同的磁盘下,减少io竞争.
      

  4.   

    用user表空间就可以了
    如果你的数据量上十亿了并且要求IO速度,则建议楼主建三个表空间就够用了。
    create tablespace xxx
       datafile 'xxx.dbf' size xxm
    表空间大小需要根据你的DML操作频率而定,如果想DML速度快,就把表空间建大一点,而且本地化管理。
      

  5.   

    回楼主
    users表空间不是系统的表空间,是系统为用户提前建好的一个表空间。
    自己建表空间可以,75个表不多,使用系统默认的users也可以,速度上应该没有问题。
    要是为了以后方便起见,可以自己建表空间,例如:
    CREATE TABLESPACE "myusers"
        LOGGING
        DATAFILE 'D:\oracle\product\10.2.0\oradata\myusers\myusers.ora' SIZE 1024M AUTOEXTEND
        ON NEXT  80M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
      

  6.   

    建议楼主建表的时候PCTFREE不要低于20,PCTUSED不要低于40
      

  7.   

    先感谢各位了 
    EXTENT MANAGEMENT LOCAL 这句话是什么意思?以前没用到过,是不是很重要,如果没有的话会产生什么影响呢,谢谢
      

  8.   

    自己创建表空间,oracle自带的那几个表空间,最好都不要使用,一旦出现问题,就麻烦大了