SQL tuning
文章平均质量分 53
王景远
这个作者很懒,什么都没留下…
展开
-
identify candidates for sql tuning
SELECT v.parsing_user_id, v.command_type, v.disk_reads, v.buffer_gets,v.executions, v.sql_textFROM v$sqlarea vWHERE v.disk_reads>200ORDERBY v.disk_readsDESC原创 2012-06-08 15:29:09 · 462 阅读 · 0 评论 -
forall and bulk collect
DECLARE TYPE DeptList IS VARRAY(20) OF NUMBER; depts DeptList := DeptList(10, 30, 70); -- department numbers BEGIN FORALL i IN depts.FIRST..depts.LAST DELETE FROM emp WHERE deptno = depts(i);原创 2012-06-25 10:42:02 · 483 阅读 · 0 评论 -
基于oralce数据库的优化
基于oralce数据库的优化 1.为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享.因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能原创 2012-06-25 12:57:58 · 425 阅读 · 0 评论 -
Varray and Nested table
DECLARE CURSOR cursor1 IS SELECT * FROM emp; emp_rec cursor1%ROWTYPE; TYPE emp_array IS VARRAY(20) OF cursor1%ROWTYPE; emp_arr emp_array; no NUMBER; i NUMBER := 1; BEGIN emp_arr := emp原创 2012-06-25 10:51:02 · 415 阅读 · 0 评论 -
Oracle sql语句执行顺序
sql语法的分析是从右到左 一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。5)选择优化器,不同的优化器一般产生不同的转载 2013-04-10 11:35:09 · 493 阅读 · 0 评论 -
SQL计算工作日
本文摘录了两段SQL的小技巧,来解决工作中的一些常用到的问题。主要是为了记录一下第一条,这条SQL是用来计算两个日期中的工作日的方法,从ITPUT那边看来的,很实用的一段SQL,而且用的算法很好,值得学习。当然只能剔除掉周六周日,别的法定节假日肯定就不行了。另一个是写的如何打印日历,比较白痴的一段SQL,呵呵,顺手摘录一下。 1、用SQL直接取工作日: with转载 2013-04-11 18:09:34 · 7442 阅读 · 1 评论 -
oracle row_number() 函数的基本用法用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。示例: xlh row_num 1转载 2013-04-11 18:04:16 · 2151 阅读 · 1 评论