- 博客(26)
- 收藏
- 关注
转载 Oracle SQL优化 总结
文章转自:http://blog.csdn.net/tianlesoftware/article/details/7008801SQL 的优化主要涉及几个方面:(1) 相关的统计信息缺失或者不准确(2) 索引问题(3) SQL 的本身的效率问题,比如使用绑定变量,批量DML 采用bulk等,这个就考验写SQL的基本功了,这一点也是最主要的一点。
2014-02-14 15:46:53 647
转载 绑定变量窥探(bind peeking)--什么使执行计划不准
OLTP中为了解决SQL语句硬解析的问题,使用了绑定变量,在oracle 10g版本中,这样带来一个问题,每次SQL的执行计划可能不是最优的,正式环境和测试环境上的执行计划不一致。 为什么会产生这种问题:在执行含有绑定变量的查询语句时,完成解析和最优化操作之后对绑定变量进行绑定,这以为着在实现最优化操作时无法使用绑定变量列的统计信息。为了解决这个问题,数据库使用了窥探技术,在第一次解
2014-06-28 12:52:49 691
转载 pipe row的用法, Oracle split 函数写法
为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成。REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化。Oracle 9i 通过引入的管道化表函数纠正了后一种情况。表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数据库表一样。管道化表函数
2014-06-08 20:17:14 2894
转载 【ROLLUP】Oracle分组函数之ROLLUP魅力
本文通过演示给出Oracle ROLLUP分组函数的用法,体验一下Oracle在统计查询领域中的函数魅力。ROLLUP分组函数可以理解为Group By分组函数封装后的精简用法,这里同时给出ROLLUP的Group By的改写思路。1.初始化实验坏境1)创建测试表group_testSECOOLER@ora11g> create table group_test (group_id
2014-06-04 17:33:10 450
转载 Oracle的分析函数ROW_NUMBER、DENSE_RANK、RANKOracle的分析函数ROW_NUMBER、DENSE_RANK、RANK
共同点:这三个分析函数都可以在各个分组内从1开始排序。区别:ROW_NUMBER()是没有重复值的,可以利用它实现分页显示。DENSE_RANK()是连续排序,有两个第二名时仍然跟着第三名。RANK()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)。SELECT * FROM ( SELECT deptno, ename, sal, ROW_NU
2014-04-11 17:51:29 494
转载 Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复只有rman的备份文件恢复过程Created by foway in uplooking.com 2008: 欢迎转载,但请保留本行说明,谢谢!1. 通过rman备份文件恢复spfile2. 通过rman备份文件恢复controlfile3. 通过rman备份文
2014-03-20 13:40:38 859
转载 Oracle 执行计划(Explain Plan) 说明
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。 一.
2014-02-14 15:40:36 951
转载 Oracle SQL优化规则详解
1. 选用适合的Oracle优化器 Oracle的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在S
2014-02-14 14:47:17 495
原创 行转列方法,decode()与wmsys.wm_concat()
SQL>select * from test_tb_grade t; IDUSER_NAMECOURSESCORE11ach9022amath9833aen9544
2014-02-14 12:14:10 1042
转载 Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)
wmsys.wm_concatDefinition: The Oracle PL/SQL WM_CONCAT function is used to aggregate data from a number of rows into a single row, giving a list of data associated with a specific COMMENT_BODY. In e
2014-02-14 12:12:25 1123
转载 SQL操作全集
下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CR
2014-02-13 22:43:36 530
转载 怎样看懂Oracle的执行计划
一、什么是执行计划An explain plan is a representation of the access path that is taken when a query is executed within Oracle.二、如何访问数据At the physical level Oracle reads blocks of data. The smallest amo
2014-02-13 14:51:20 552
转载 如何查看执行计划
1、直接使用sqlplus系统参数: SQL> set autotrace on explain SQL> select * from dual; D - X Execution Plan ----------------------------------------------------------
2014-02-13 14:38:33 887
转载 Oracle to_char格式化函数
Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。注意:所有格式化函数的第二个参数是用于转换的模板。表 5-7. 格式化函数 函数返回描述例子to_char(timestamp, t
2013-03-27 13:22:14 494
转载 PCTFREE与PCTUSED
设置建议:除非要严格地管理可用空间,否则不要设置pctused超过40或50。一般这两个值地和不能达到90,否则会使Oarcle将更多地时间花费在处理空间利用上。下面是几个参考:pctfree 5,pctused 40 适合于静态表或只读表。pctfree 10,pctused 50 适合插入行后,更新活动不会增加已有行地长度地综合性OLTP系统。pctfree 20,pctused 40
2013-03-15 09:54:00 811
转载 Oracle数据库联机日志文件丢失的几种处理方法
Oracle数据库联机日志文件丢失处理方法试验一:用命令清空日志组方法1、 查看原来表中数据SQL>; conn test/testConnected.SQL>; select * from test; TEL---------- 1 2 32、插入新数据SQL>; i
2013-03-09 17:23:39 731
转载 ORACLE的递归查询
转自:http://blog.csdn.net/zwhfyy/article/details/4057742个人觉得这个函数其实很好用,sys_connect_by_path(字段名, 2个字段之间的连接符号),注意这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,',')。还有,这个函数使用之前必须
2011-11-22 20:29:22 457
转载 Oracle自动增长字段
Oracle自动增长字段一 建立表createtable xok.mytable(id number(2)primary key,name char(14),sex char(2)check (sex='男'or sex='女'),mark varchar2(1000))二 建立sequencecreatesequence XOK_AUTOI
2011-11-10 18:01:00 279
转载 Kill会话过程分析
在实际开发中,我们常常需要将用户的会话强制断开。比如:事务执行超时、代码出现死循环、死锁或者无意中将数据表锁住。这个使用killsession是很实用的方法。那么,kill session的时候,系统究竟发生了什么呢? 基础知识 用户连接到数据库,涉及到几个对象。首先是监听器,我们常常使用的本地命名服务(tnsname.ora),实际上连接的就是监听器。但是,对于我们连接过程来
2011-11-10 17:24:14 611
原创 监听程序当前无法识别连接描述符中请求的服务
<br />listener.ora<br /><br />SID_LIST_LISTENER =<br /> (SID_LIST =<br /> (SID_DESC =<br /> (SID_NAME = PLSExtProc)<br /> (ORACLE_HOME = F:/oracle/product/10.2.0/db_1)<br /> (PROGRAM = extproc)<br /> ) <br /> )<b
2010-09-23 18:21:00 455
转载 删除表空间
<br />删除表空间,使用命令drop tablespace ‘表空间名’ 但是有3个选项需要注意:<br /><br />INCLUDING CONTENTS:指删除表空间中的segments;<br /><br />INCLUDING CONTENTS AND DATAFILES:指删除segments和datafiles;<br /><br />CASCADE CONSTRAINTS:删除所有与该空间相关的完整性约束条件。<br /><br />例:Sql代码 DR
2010-09-16 16:19:00 337
转载 在oracle的子查询中使用some,any和all
<br />用some,any和all对子查询中返回的多行结果进行处理。下面我们来简单介一下这几个关键词的含义。 Some在此表示满足其中一个的意义,是用or串起来的比较从句。 Any也表示满足其中一个的意义,也是用or串起来的比较从句,区别是any一般用在非“=”的比较关系中,这也很好理解,英文中的否定句中使用any肯定句中使用sone,这一点是一样的。 All则表示满足其其中所有的查询结果的含义,使用and串起来的比较从句。 <br />下面是一些例子<br />找出员工中,只要比部门号为1
2010-09-14 22:28:00 381
转载 ·PL/SQL Developer使用技巧
1、PL/SQL Developer记住登陆密码 <br />在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码; <br />设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是默认勾选的,勾上"Store with password" 即可,重新登录在输入一次密码则记住了。 2、执行单
2010-09-08 09:42:00 1026 1
转载 在Oracle中实现SELECT TOP N的方法
<br /><!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;}
2010-09-02 22:52:00 433
转载 SELECT TOP N 问题
1. SQL SERVER 7: 用 TOP N (WITH TIES)M1: SELECT TOP N * FROM MYTABLE ORDER BY ORD_COL;M2: SELECT TOP N WITH TIES * FROM MYTABLE ORDER BY ORD_COL;注: SQL SERVER 7提供了PERCENT N WITH TIES, ACCESS 中提供了TOP N,但含义是M 2.2. ORACLE 8i: 用 ROWNUM
2010-09-02 22:13:00 816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人