達夢関数インデックス&ゲートウェイ密文インデックスメカニズムテスト&仮想列テスト
4314 ワード
### Code Reference URL:p 119(関数インデックス)DM 8システム管理者マニュアルp 189(explain sql) DESC:ダモン関数インデックス&ゲートウェイ暗号インデックスメカニズムテスト&仮想カラムテスト Last Update:2020-7-2 19:30 テストテーブル暗号化 試験表の作成 暗号化および認証 クエリーテスト(全表スキャン)10.727 s select*from TEST 1.TAB_INDEX_100 W T where T.電話番号=1851091417[外部リンク画像の転送に失敗し、ソース局に盗難防止チェーン機構がある可能性があり、画像を保存して直接アップロードすることを提案する(img-7 nqWcrDQ-153710451660)(http://redevm/uploads/big/5227b791e14a28fed52b75eda5c7ee72.png)]
ハッシュ値&インデックステスト ハッシュフィーチャー列&初期化フィーチャー値を追加 ハッシュアルゴリズム サマリー列を追加 初期化要約値 一般インデックスの作成 関数インデックスの作成 仮想カラム
異なるクエリー方式を使用したパフォーマンスの違いをテスト&実行計画 プライマリ・キーの使用(1) 明文を使用し、インデックスは作成されていません(2) ハッシュ列を使用(3) ハッシュ列を使用して計算された値(2)
create table test1.tab_index_100W as
select rownum as id,
to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as ,
trunc(18510911437-dbms_random.value(-100000, 100000)) as ,
'TDE' || dbms_random.string('x', 20) ,
'TDE' || dbms_random.string('x', 15)
from dual
connect by level <= 1000000;
alter table "TEST1"."TAB_INDEX_100W" add primary key("ID");
SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW('oracle'))
create or replace function test1."fun_md5"(pvb_str varchar2(1000))
return varbinary(1000) deterministic as
begin
return SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW(pvb_str));
end;
alter table "TEST1"."SS_ENC_TAB_1d9druqb54d" add column("hashValue" VARBINARY(100));
update "TEST1"."SS_ENC_TAB_1d9druqb54d" set "hashValue"=SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW( ))
create index idx_hash on "TEST1"."SS_ENC_TAB_1d9druqb54d" ("hashValue")
drop index "TEST1".idx_funhash;
create index idx_funhash on "TEST1"."SS_ENC_TAB_1d9druqb54d"(test1."fun_md5"( ));
、 、
( )
alter table "TEST1"."SS_ENC_TAB_1d9druqb54d" add column("virtualHash" varbinary(100) as (test1."fun_md5"( )));
( )
explain
select * from "TEST1"."SS_ENC_TAB_1d9druqb54d"
where ID in (251846,533081,533530,564719);
explain
select * from "TEST1"."SS_ENC_TAB_1d9druqb54d"
where IN(
'TDE64BWJOD0Q2O9GD6M9GL0'
,'TDEFTYV4YR5QSL5657CD4NY'
,'TDEALCXOJUJITGOQESIYK6L'
,'TDEKNNET2QSO3X6047M95JJ'
)
explain
select * from "TEST1"."SS_ENC_TAB_1d9druqb54d"
where "hashValue" in (
SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW('TDE64BWJOD0Q2O9GD6M9GL0')),
SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW('TDEFTYV4YR5QSL5657CD4NY')),
SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW('TDEALCXOJUJITGOQESIYK6L')),
SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(utl_raw.CAST_TO_RAW('TDEQVQHEEKE8223NHHIN41V'))
);
, , 。
explain
select * from "TEST1"."SS_ENC_TAB_1d9druqb54d"
where "virtualHash" in (
test1."fun_md5"(utl_raw.CAST_TO_RAW('TDE64BWJOD0Q2O9GD6M9GL0')),
test1."fun_md5"(utl_raw.CAST_TO_RAW('TDEFTYV4YR5QSL5657CD4NY')),
test1."fun_md5"(utl_raw.CAST_TO_RAW('TDEALCXOJUJITGOQESIYK6L')),
test1."fun_md5"(utl_raw.CAST_TO_RAW('TDEQVQHEEKE8223NHHIN41V'))
);
explain
select * from "TEST1"."SS_ENC_TAB_1d9druqb54d"
where "hashValue" in (
'0x3ADF273B01AAC189DF86F6C476DFAB9F'
,'0x512862544080D8845E370FDFF31C38E7'
,'0x2DDC00C337BAA23088D22D8278E238C3'
,'0x4FCBD80BE2D4373930773694355C63B3'
);