Oracle
tree3170
一个想学好计算机的发烧友.........
展开
-
ORACLE多表查询优化
ORACLE有个高速缓冲的概念,这个高速缓冲就是存放执行过的SQL语句,那oracle在执行sql语句的时候要做很多工作,例如解析sql语句,估算索引利用率,绑定变量,读取数据块等等这些操作。假设高速缓冲里已经存储了执行过的sql语句,那就直接匹配执行了,少了步骤,自然就快了,但是经过测试会发现高速缓冲只对简单的表起作用,多表的情况完全没有效果,例如在查询单表的时候那叫一个快,但是假设连接多...原创 2012-05-11 11:14:11 · 50 阅读 · 0 评论 -
Oracle层次查询及应用(start with connect by)
转至:http://erplife.blog.sohu.com/84644463.html摘要:本文将根据对层次查询语句简单例子的说明来理解应用,并举例实际的应用案例。========================================================================================================start w...原创 2012-05-16 20:47:06 · 140 阅读 · 0 评论 -
排名或顺序的函数 ROW_NUMBER/RANK/DENSE_RANK/NTILE
排名或顺序的函数 ROW_NUMBER/RANK/DENSE_RANK/NTILE测试表/数据CREATE TABLE test_course ( student_name VARCHAR(10), -- 学生 course_name VARCHAR(10), -- 课程 grade INT -- 成绩);INSERT INTO t...原创 2012-06-19 17:16:45 · 59 阅读 · 0 评论 -
Oracle中关于树递归的一个sql分析
总的:select distinct t.id tenantid, t.name, ts.scnames, ts.scids, t.remark from PM_TENANT t inner join (select tenantid, ...原创 2012-06-21 15:36:32 · 82 阅读 · 0 评论 -
oracle中的一些函数
1、row_number() over(partition by tenantid order by scid) rn: row_number() 顺序号码, 也就是 行号, 比如 1,2,3,4,5 这样的顺序 over必须 partition by ts.tenantid是按tenantid分区,也就是如果有不同的tenantid ,这个序号又开始从1开始重新算 2、O...原创 2012-06-21 15:36:56 · 65 阅读 · 0 评论