:提高查询的效率 创建定时任务

--如何提高数据的查询效率
索引:提高查询的效率

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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值