:提高查询的效率 创建定时任务
2017-03-09 20:09
197 查看
--如何提高数据的查询效率
索引:提高查询的效率
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;
索引:提高查询的效率
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;
相关文章推荐
- 在基于数据库的任务派发系统中利用SQL Server 2005 新的查询提示来提高系统的效率
- Oracle用定时任务存储过程将数据转存到历史表,提高查询速度
- ArcGIS Engine 创建索引(属性索引)——提高查询效率
- MySQL创建index提高多表查询效率
- MySQL创建index提高多表查询效率
- 创建分区表,提高查询效率
- Oracle JOB的应用,定时执行任务,大大减少工作量,提高效率
- ArcGIS Engine 创建索引(属性索引)——提高查询效率
- MySQL创建index提高多表查询效率
- activiti 手动创建定时任务——衍生定时任务
- sqlserver通过脚本创建定时任务_SQL技巧
- WITH (NOLOCK)提高查询效率
- DB2建工具库并创建定时任务
- 4000 提高SQL查询效率的30种方法
- C#使用定时任务框架Windows.TaskSchedule.exe安装控制台应用程序创建的Windows服务
- Oracle提高查询效率的方法
- 使用索引统计信息(Index Statistics)优化查询语句,提高查询效率
- 处理百万级以上的数据查询提高效率的办法
- java多线程或者定时任务中查询数据库报空指针异常
- 提高Oracle查询效率的方法总结