oracle查询语句讲解 oracle绑定变量查询?

[更新]
·
·
分类:互联网
4327 阅读

oracle查询语句讲解

oracle绑定变量查询?

oracle绑定变量查询?

绑定变量是为了减少解析的,比如你有个语句这样
select aaa,bbb from ccc where dddeee
如果经常通过改变eee这个谓词赋值来查询,像如下
select aaa,bbb from ccc where dddfff
select aaa,bbb from ccc where dddggg
select aaa,bbb from ccc where dddhhh
每条语句都要被数据库解析一次,这样比较浪费资源,如果把eee换成“:1”这样的绑定变量形式,无论ddd后面是什么值,都不需要重复解析
如果你用数据仓库,一条大查询一跑几个小时,根本没必要做绑定变量,因为解析的消耗微乎其微,而且绑定变量对优化器判断执行路径也有负面影响。

oracle job使用详解?

oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务。
初始化相关参数job_queue_processes
alter system set job_queue_processes39 scopespfile;//最大值不能超过1000 ;job_queue_interval 10 //调度作业刷新频率秒为单位
job_queue_process 表示oracle能够并发的job的数量,可以通过语句  
show parameter job_queue_process;
来查看oracle中job_queue_process的值。当job_queue_process值为0时表示全部停止oracle的job,可以通过语句
ALTER SYSTEM SET job_queue_processes 10;
来调整启动oracle的job。

mysql查询语句和oracle查询语句的差别大吗?l?

首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页;
另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;
另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)。还有他们两者函数有不同之处,如转日期函数oracle是to_date(要转的字符串,格式) -- select to_date(2004-05-07 13:23:44,yyyy-mm-dd hh24:mi:ss) from dual,而mysql是str_to_date(08/09/2008, %m/%d/%Y) -- 2008-08-09//都是针对字符串转日期来的。
还有一点,我们常常希望主键可以自动增长,避免我们插入数据时的重复问题,但是oracle不能设置列自动增长,而mysql是可以的,oracle可以用序列加触发器来解决自动增长问题达到与mysql一样的效果。
总体来说百分之九十的sql语句是没区别的。总体来说oracle的格式严格点,对有些字符型的还必须加单引号才能插入,mysql要求就没这么多了。还有当向数据库插入一个日期时,mysql可以直接插入成功,但是oracle需要先转化为sql里面的日期类型才行;oracle较mysql而言更安全,但是收费的,一般大公司用的多。oracle还有存储过程和函数,触发器这些这是mysql没有的。大体就是这样吧。