1.Plsql 引擎可以接受应用程序的程序,然后将sql 部分和plsql 部分分离出来,分别交给sql引擎和plsql引擎执行,提高执行效率。
2.plsql支持dml,select语句,不直接支持ddl,用动态语句,execute immediate或DBMS_SQL。
3.forall与批处理bulkcollection联合用,bulk collection可以减少plsql的引擎和sql引擎之间的相互转换的次数,所以能提高效率。
4.在PLSQL 中使用绑定变量有很多优点,可以从外部传参数的值,使过程的执行只进行一次硬分析,其他都是软分析,从而提高程序和语句的执行效率。
5.特殊的可以加双引号,则使用时也加双引号,则区分大小写。如"PI"和"pi"是不同的变量。
6.查看保留字可以以DBA身份登陆,SELECT * FROM V$RESERVED_WORDS;
7.如''和null 一样,但是中间不能有空格。m varchar2(10):=''和null 一样,但是m char(10):=''和null就不一样了,是定长的,也就是长度为10,所以m is not null.
8.能用sql解决的不要用循环。当需要捕足异常信息时候,用for loop就比较灵活了,直接写sql不知道那句执行错误。
9.直接按rowid做update或delete操作是最高效的,比主键还要效率高。
10.当在PL/SQL中执行一条sql语句的时候,RDBMS会在SGA中为这个sql专门开辟一个work area,并且管理这个sql 查询的数据。这个私有的区域,存储了sql 语句的信息以及获取数据的信息和受这个语句影响的信息。11.Result Set:通过sql语句查询出来的结果集,oracle把它缓存到SGA中,来提高访问和修改的性能。Oracle操纵一个指针指向结果集的当前行。
12.cursor 应该是指向查询语句结果集的指针。在open之后,第一次fetch之前,游标定位在结果集的第一行的前一行,那么%found或%notfound都是null,也就是没有数据被fetch.CURSOR是存储了查询结果集的一个虚表,或者可以看成是隐性的view,因为它只存在于程序的执行过程中。