因为明摆着的缘故,10.2引出的TDE效能对列加密以后,招致相干目录丧失了对不等式的判断能力。
如次:
ENCRYPTIONDEMO@fmw//scripts> create table tde_table(id number encrypt no salt,na
me varchar二(30))
二 ;
Table created.
Elapsed: 00:00:00.11
ENCRYPTIONDEMO@fmw//scripts> begin
二 for i in 1..20000 loop
三 insert into tde_table values (i,i);
四 end loop;
五 commit;
六 end;
七 /
PL/SQL procedure successfully completed.
ENCRYPTIONDEMO@fmw//scripts> create unique index tde_idx on tde_table(id);
Index created.
等式判断当然没受到影响。
ENCRYPTIONDEMO@fmw//scripts> select * from tde_table where id=九;
Elapsed: 00:00:00.00
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
| 零 | SELECT STATEMENT | | 一 | 64 | 一 (零)| 00:00:01 |
| 一 | TABLE ACCESS BY INDEX ROWID| TDE_TABLE | 一 | 64 | 一 (零)| 00:00:01 |
|* 二 | INDEX UNIQUE SCAN | TDE_IDX | 一 | | 一 (零)| 00:00:01 |
不等式就窘迫了。
ENCRYPTIONDEMO@fmw//scripts> select * from tde_table where id
Elapsed: 00:00:00.06
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 零 | SELECT STATEMENT | | 三 | 192 | 69 (二)| 00:00:01 |
|* 一 | TABLE ACCESS FULL| TDE_TABLE | 三 | 192 | 69 (二)| 00:00:01 |
好玩儿的是11g提供了一个新功能: 表空间加密。 规格上说是可以对保留在内中的全部数据加密,实则,不但如此,目录也具备不等式判断能力。
如次:
创设一个加密的表空间
SYS@fmw//scripts> create tablespace securets datafile 'D:APPDBORACLE11GORADATAFMWSECURETS01.DBF' size 20M autoextend off encryption
using 'AES128' default storage (encrypt);
Tablespace created.
ENCRYPTIONDEMO@fmw//scripts> create table st (id number,name varchar二(30)) tablespace securets;
Table created.
Elapsed: 00:00:00.04
ENCRYPTIONDEMO@fmw//scripts> begin
二 for i in 1..20000 loop
三 insert into st values (i,i);
四 end loop;
五 commit;
六 end;
七 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.07