>進(jìn)入 理論上,我們進(jìn)行表分區(qū)都是為了提升性能,加快查詢速度。但是有的時(shí)候,不但不能加快查詢速度,反而拖累的查詢速度。下面舉的一個(gè)例子就是這樣的: 假設(shè)某一個(gè)表是按照主鍵散列分區(qū),創(chuàng)建表如下所 " />
歡迎進(jìn)入Oracle社區(qū)論壇,與200萬技術(shù)人員互動(dòng)交流 >>進(jìn)入 理論上,我們進(jìn)行表分區(qū)都是為了提升性能,加快查詢速度。但是有的時(shí)候,不但不能加快查詢速度,反而拖累的查詢速度。下面舉的一個(gè)例子就是這樣的: 假設(shè)某一個(gè)表是按照主鍵散列分區(qū),創(chuàng)建表如下所
歡迎進(jìn)入Oracle社區(qū)論壇,與200萬技術(shù)人員互動(dòng)交流 >>進(jìn)入
理論上,我們進(jìn)行表分區(qū)都是為了提升性能,加快查詢速度。但是有的時(shí)候,不但不能加快查詢速度,反而拖累的查詢速度。下面舉的一個(gè)例子就是這樣的:
假設(shè)某一個(gè)表是按照主鍵散列分區(qū),創(chuàng)建表如下所示:
Sql代碼
create table t
( OWNER, OBJECT_NAME, SUBOBJECT_NAME, OBJECT_ID, DATA_OBJECT_ID,
OBJECT_TYPE, CREATED, LAST_DDL_TIME, TIMESTAMP, STATUS,
TEMPORARY, GENERATED, SECONDARY )
partition by hash(object_id)
partitions 16
as
select * from all_objects;
我們經(jīng)常要在表上面,根據(jù)owner 或者 object_type,object_name 或者owner, object_type,object_name進(jìn)行查詢。于是我們想到在這三列上建立一個(gè)局部索引。如下所示:
Sql代碼
create index t_idx
on t(owner,object_type,object_name)
LOCAL
運(yùn)行一個(gè)存儲(chǔ)過程收集cpu耗用等信息:
Sql代碼
begin
dbms_stats.gather_table_stats
( user, 'T', cascade=>true);
end;
/
改變幾個(gè)會(huì)話屬性,便于允許TKPROF
Sql代碼
alter session set timed_statistics=true;
alter session set events '10046 trace name context forever,level 12';
執(zhí)行如下SQL語句:
Sql代碼
select * from t where owner='SCOTT' and object_type = 'TABLE' and object_name = 'EMP';
select * from all_objects where owner='SCOTT' and object_type = 'TABLE' and object_name = 'EMP';
[1] [2]
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com