提高查詢的效率 建立定時任務

2021-07-28 04:23:32 字數 1667 閱讀 1902

--如何提高資料的查詢效率

索引:提高查詢的效率

1.常用的列放在前面

索引的分類:

單列索引 多列索引

唯一索引與非唯一索引

無論是唯一索引還是非唯一索引,索引列都允許取null值

標準(b-tree index,b樹)索引

位圖索引 適用於取值很少的列

建立索引的語法結構:

create [unique] index 索引名 on talbe(列名1,列名2,.....)

建立位圖索引

create bitmap index idx_bm_job on emp(job);

select id,user_name,age,city from city where city in('上海','杭州')

1.job的作用是什麼。

oracle提供的乙個定期執行某個儲存過程或者包體的功能。

--oracle提供的乙個定期執行某個儲存過程或者包體的功能。

sysdate+1 加一天

sysdate+1/24 加1小時

sysdate+1/(24*60) 加1分鐘

sysdate+1/(24*60*60) 加1秒鐘

定時任務的執行

declare

jobid number; --宣告乙個job任務

begin

dbms_job.submit(jobid,

'pro_name;',   // 儲存過程名稱  

to_date('20170309 1618', 'yyyymmdd hh24mi'), //下次執行時間 null:系統時間的零點

'sysdate+1/1440');   // 間隔多長時間執行一次 :null:永不執行

end;

-- 查詢所有的job(broken)  y(停止) n(執行)

select * from user_jobs;

啟動/停止job:  exec dbms_job.broken(4,false/true);  jobid,boolean,next_date

刪除job:       dbms_job.remove(jobno);

2.編寫乙個job,定時一分鐘向乙個表中插入一條資料,資料任意。

--建立乙個儲存過程

create or replace procedure pro_job_table

as begin

insert into job_table values(seq_user.nextval,seq_user.nextval||'job');

end;

-- 建立乙個job

declare

jobid number;

begin

dbms_job.submit(jobid,'pro_job_table;',null,'sysdate+1/(24*60*60)');

commit;

end;

declare

jobid number;

begin

dbms_job.submit(jobid,'pro_job_table;',to_date('20170309 172059','yyyymmdd hh24miss'),'sysdate+1/(24*60*60)');

commit;

end;

定時任務的建立

建立定時任務 crontab e 格式 命令 代表的是分時日月周 第1列表示分鐘1 59 每分鐘用或者 1表示,n表示每n分鐘,例如 8就是每8分鐘的意思,下面也是類推 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第5列標識號星期0 6 0表示星期天 21 a...

quartz任務定時任務建立

排程器 任務排程器類 author wwr public class taskscheduler 任務排程 param jobclass 任務類 param job1 任務名 param job1group 任務組別 param trigger1 觸發器名字 param triggergroup 觸...

oracle建立定時任務

oracle建立三個定時任務,每個小時呼叫一次report hour,每天呼叫一次report day,每個月呼叫一次report month declare job1 number job2 number job3 number begin sys.dbms job.submit job job1...