create objects inmemory options

哎呀我的天吶發表於2015-10-27


inmemory只存列資料
inmemory option中可以建立表指定,也可以建立表空間指定。
看建立語句
http://docs.oracle.com/database/121/SQLRF/statements_7003.htm#i2231734 

點選( 此處 )摺疊或開啟

  1. SQL > create tablespace test datafile '/u01/app/oracle/oradata/prod/test01.dbf' size 200M default inmemory ;


  2. Tablespace created .


  3. SQL > create user c## test identified by tiger default tablespace test ;


  4. User created .


  5. SQL > alter user c## test account unlock ;


  6. User altered .


  7. SQL > grant connect , resource to c## test ;


  8. Grant succeeded .


  9. SQL > alter user c## test quota unlimited on test ;


  10. User altered .



點選( 此處 )摺疊或開啟

  1. CREATE TABLE dept ( deptno NUMBER ( 2 ) , dname VARCHAR2 ( 14 ) , loc VARCHAR2 ( 13 ) ) ;

  2. INSERT INTO dept VALUES ( 10 , 'ACCOUNTING' , 'NEW YORK' ) ;

  3. INSERT INTO dept VALUES ( 20 , 'RESEARCH' , 'DALLAS' ) ;

  4. INSERT INTO dept VALUES ( 30 , 'SALES' , 'CHICAGO' ) ;

  5. INSERT INTO dept VALUES ( 40 , 'OPERATIONS' , 'BOSTON' ) ;

  6. CREATE TABLE emp ( empno NUMBER ( 4 ) , ename VARCHAR2 ( 10 ) , job VARCHAR2 ( 9 ) , mgr NUMBER ( 4 ) , hiredate DATE , sal NUMBER ( 7 , 2 ) , comm NUMBER ( 7 , 2 ) , deptno NUMBER ( 2 ) ) ;

  7. INSERT INTO emp VALUES ( 7369 , 'SMITH' , 'CLERK' , 7902 , SYSDATE , 800 , null , 20 ) ;

  8. INSERT INTO emp VALUES ( 7499 , 'ALLEN' , 'SALESMAN' , 7698 , SYSDATE , 1600 , 300 , 30 ) ;

  9. INSERT INTO emp VALUES ( 7521 , 'WARD' , 'SALESMAN' , 7698 , SYSDATE , 1250 , 500 , 30 ) ;

  10. INSERT INTO emp VALUES ( 7566 , 'JONES' , 'MANAGER' , 7839 , SYSDATE , 2975 , null , 20 ) ;

  11. INSERT INTO emp VALUES ( 7654 , 'MARTIN' , 'SALESMAN' , 7698 , SYSDATE , 1250 , 1400 , 30 ) ;

  12. INSERT INTO emp VALUES ( 7698 , 'BLAKE' , 'MANAGER' , 7839 , SYSDATE , 2850 , null , 30 ) ;

  13. INSERT INTO emp VALUES ( 7782 , 'CLARK' , 'MANAGER' , 7839 , SYSDATE , 2450 , null , 10 ) ;

  14. INSERT INTO emp VALUES ( 7788 , 'SCOTT' , 'ANALYST' , 7566 , SYSDATE , 3000 , null , 20 ) ;

  15. INSERT INTO emp VALUES ( 7839 , 'KING' , 'PRESIDENT' , NULL , SYSDATE , 5000 , null , 10 ) ;

  16. INSERT INTO emp VALUES ( 7844 , 'TURNER' , 'SALESMAN' , 7698 , SYSDATE , 1500 , , 30 ) ;

  17. INSERT INTO emp VALUES ( 7876 , 'ADAMS' , 'CLERK' , 7788 , SYSDATE , 1100 , null , 20 ) ;

  18. INSERT INTO emp VALUES ( 7900 , 'JAMES' , 'CLERK' , 7698 , SYSDATE , 950 , null , 30 ) ;

  19. INSERT INTO emp VALUES ( 7902 , 'FORD' , 'ANALYST' , 7566 , SYSDATE , 3000 , null , 20 ) ;

  20. INSERT INTO emp VALUES ( 7934 , 'MILLER' , 'CLERK' , 7782 , SYSDATE , 1300 , null , 10 )

select  e.ename  , e.job , d.dname  from  emp e , dept d  where  e.deptno  =  d.deptno  and  e.sal  <   2000 ;


create index ind on emp(empno);後還是走如上的執行計劃。

如下是我執行>的某個語句產生的執行計劃,或許是表的關聯方式和以前沒有什麼區別,但是表的訪問路徑真的就是走inmemory了,後續還待驗證。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-1816530/,如需轉載,請註明出處,否則將追究法律責任。

相關文章