2017年10月7日 星期六
1 建立測試資料,無partition
-- Create Table
CREATE TABLE "MIKE1"."TABLE6"
( "SEQ" NUMBER NOT NULL ENABLE,
"DATESTR" DATE NOT NULL ENABLE,
"R" NUMBER DEFAULT 10 NOT NULL ENABLE
)
TABLESPACE "TB" ;
-- Create Sequ
CREATE SEQUENCE "MIKE1"."TABLE6_SEQ" MINVALUE 1 MAXVALUE 9999999 INCREMENT BY 1 START WITH 200921 CACHE 20 NOORDER NOCYCLE ;
-- Insert Data
begin
for i in 1..100000
loop
insert into mike1.table6 values ( mike1.table6_seq.nextval , to_date ('2018/01/01','yyyy/mm/dd') + round(dbms_random.value(1,365)) , round(dbms_random.value(1,10000))) ;
end loop;
commit ;
end ;
--Query
無迴圈
declare
v_out int ;
timestart NUMBER;
BEGIN
dbms_output.enable;
timestart:=dbms_utility.get_time();
select count(*) into v_out from mike1.table6 T6 where T6.R > round(dbms_random.value(1,1000)) and T6.R < round(dbms_random.value(2000,8000)) ;
dbms_output.put ( v_out || ' ==> ') ;
dbms_output.put_line ( dbms_utility.get_time()-timestart);
-- save time
end ;
-- 沒有index , 執行約 8秒鐘
declare
v_out int ;
timestart NUMBER;
BEGIN
dbms_output.enable;
timestart:=dbms_utility.get_time();
for i in 1..10
loop
select count(*) into v_out from mike1.table6 T6 where T6.R > round(dbms_random.value(1,1000)) and T6.R < round(dbms_random.value(2000,6000)) ;
dbms_output.put_line ( v_out ) ;
end loop ;
dbms_output.put_line ( dbms_utility.get_time()-timestart);
-- save time
end ;
-- Create Index
CREATE INDEX "MIKE1"."IDX_DATE_TABLE6_DATESTR" ON "MIKE1"."TABLE6" ("DATESTR")
TABLESPACE "TB" ;
CREATE INDEX "MIKE1"."IDX_TABLE6_SEQ" ON "MIKE1"."TABLE6" ("SEQ")
TABLESPACE "TB" ;
CREATE INDEX "MIKE1"."IDX_TABLE6_R" ON "MIKE1"."TABLE6" ("R")
TABLESPACE "TB" ;
建立完index 約 0.15秒
訂閱:
張貼留言 (Atom)
RHEL install EPEL
https://www.linuxtechi.com/install-epel-repo-on-rhel-system/ EPEL dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest...
-
記事本開啟 HKEY_CLASSES_ROOT\*\shell] [HKEY_CLASSES_ROOT\*\shell\NotePad] @="用記事本開啟" [HKEY_CLASSES_ROOT\*\shell\NotePad\command] @=...
-
下載 http://dba-tips.blogspot.tw/2015/05/oracle-database-health-check-script.html Oracle Database Health Check Script Do you wan...
-
旋轉泡泡: Oracle DataGuard 相關 Oracle DataGuard 檢查開啟狀態 -- 請全貼 -- ===check=== select dbid,name from v$database; select log_mode , OPE...
沒有留言:
張貼留言