plsql developer工具常用设置

PL/SQL Developer使用技巧

windows系统将dll写入注册表 regsvr32 + 插件路径名

oracle数据库开发编程中,没有找到oci.dll,一般是系统的 path 设置有问题,查找oci.dll, 
然后加入到系统路径。oci.dll 可下载解压到系统盘的system32目录下。然后打开“开始-运行-输入
regsvr32 oci.dll”,回车即可解决错误提示!

1)  设置关键字自动大写:Tools->Preferences->Editor,将Keywordcase选择Uppercase。这样在窗口中
    输入sql语句时,关键字会自动大写,而其它都是小写。这样阅读代码比较容易,且保持良好得编
	码风格,同理,在Tools->Preferences->CodeAssistant(助手)里可以设置代码提示延迟时间、输入
	几个字符时提示、数据库对象的大写、小写,首字母大写等;

2)  查看执行计划:选中需要分析的SQL语句,然后点击工具栏的 [Explain plan] 按钮(即执行计划),或者直接按F5;
    这个主要用于分析SQL语句执行效率,分析表的结构,便于为sql调优提供直观依据;[图标上带灯泡的哪个]
	
3)   执行单条SQL语句:按F8键

4)  TNS Names:菜单Help->Support Info(支持信息)->TNS Names,可以查看Oracle的tnsnames.ora;	
	
5)  自动替换:快捷输入SQL语句,例如输入s,按下空格,自动替换成SELECT;再例如,输入sf,按下空格,自动替
    换成SELECT * FROM,非常方便,节省了大量的时间去编写重复的SQL语句。
	
	设置方法:菜单Tools–>Preferences–>Editor–>AutoReplace(自动替换)–>Edit
	
(A)、建立一个文本文件shortcuts.txt,并写入如下内容:s=SELECT;复制代码另存到PL/SQL Developer的安装路径下的~/PlugIns目录下
(B)、Tools–>Preferences–>User Interface–>Editor–>AutoReplace,选中Enable复选框,然后浏览文件选中之前创建的shortcuts.txt,点击Apply。
(C)、重启PL/SQL Developer,在sql窗口中输入s+空格,sc+空格做测试。

下面定义了一些规则作为参考
i=INSERT
u=UPDATE
s=SELECT
f=FROM
w=WHERE
o=ORDER BY
d=DELETE
df=DELETE FROM
sf=SELECT * FROM
sc=SELECT COUNT(*) FROM
sfu=SELECT * FROM FOR UPDATE
cor=CREATE OR REPLACE
p=PROCEDURE
fn=FUNCTION
t=TIGGER
v=VIEW
sso=SET serveroutput ON;

oracle database link >>>>>>>>>>>>>>>>


Oracle数据库链Database links的作用:
在一个用户下,可以获取到另外的用户下的表的数据[不同的服务器上的数据库]
同一个数据库实例可以直接用用户名.表名来访问.


创建数据库的链Database links。
create database link yb connect to erp identified by erp using 'erp';
create database link [链的名称(我们可以自定义)] 
connect to  要连接的数据库的用户名    
identified by 用户的登录密码
using'要使用的数据库名'


另外的例子:
create database link ERPBASE
connect to nie identified by nie
using 
'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=124.133.228.17)
 (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME =erp))';


使用select * from T_CG_RETURN_NOTE@yb
解释:from后跟的是链所连接的数据库中的表,之后紧跟@链名称


--10.176.33.12:1521/orcl  userName1 & pwd1
--10.176.33.22:1521/ora11g  userName2 & pwd2


create database link dblinTest 
                connect to userName2 
                identified by pwd2 
                using '10.176.33.22:1521/ora11g';
                select t.*, t.rowid from problemmark@dblinTest t;


// http://www.cnblogs.com/kerrycode/archive/2012/05/24/2517210.html<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>
看懂执行计划


1.执行顺序
执行顺序的原则是:由上至下,从右向左
由上至下:在执行计划中一般含有多个节点,相同级别(或并列)的节点,靠上的优先执行,靠下的后执行
从右向左:在某个节点下还存在多个子节点,先从最靠右的子节点开始执行。


physical reads 物理读 就是从磁盘上读取数据块的数量。其产生的主要原因是:
               1:在数据库高速缓存中不存在这些块。
<span style="white-space:pre">			</span>   2:全表扫描
               3:磁盘排序


redo size    DML生成的redo的大小
sorts (memory)  在内存执行的排序量
sorts (disk)   在磁盘执行的排序量




Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("B"."MGR" IS NOT NULL)
4 - access("A"."EMPNO" = "B"."MGR")


Access: 表示这个谓词条件的值将会影响数据的访问路劲(全表扫描还是索引)。
Filter:表示谓词条件的值不会影响数据的访问路劲,只起过滤的作用。
在谓词中主要注意access,要考虑谓词的条件,使用的访问路径是否正确。


表的访问方式:
1) full table scan 全表扫描
2) index lookup 扫描索引


a) index unique scan --索引唯一扫描


通过唯一索引查找一个数值经常返回单个ROWID,如果存在UNIQUE或PRIMARY KEY约束(它保证了语句只存取单行的话),
ORACLE经常实现唯一性扫描


Method for looking up a single key value via a unique index. always returns a single value, You must supply
AT LEAST the leading column of the index to access data via the index. 


b) index range scan --索引局部扫描


Index range scan is a method for accessing a range values of a particular column. AT LEAST the leading column 
of the index must be supplied to access data via the index. Can be used for range operations 
(e.g. > < <> >= <= between) .
使用一个索引存取多行数据,在唯一索引上使用索引范围扫描的典型情况是在谓词(WHERE 限制条件)中使用了范围操作符号
()如>, < <>, >=, <=,BWTEEN)


c) index full scan --索引全局扫描


Scans all the block in the index, Rows are not returned in sorted order, Introduced in 7.3 and requires 
V733_PLANS_ENABLED=TRUE and CBO, may be hinted using INDEX_FFS hint, uses multiblock i/o, can be executed 
in parallel, can be used to access second column of concatenated indexes. This is because we are selecting 
all of the index. 
index skip scan --索引跳跃扫描,where条件列是非索引的前提情况下常发生


d) Rowid 物理ID扫描
This is the quickest access method available.Oracle retrieves the specified block and extracts the rows it is 
interested in. --Rowid扫描是最快的访问数据方式


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值