
PL/SQL
hty68024352
这个作者很懒,什么都没留下…
展开
-
第一个存储过程程序的总结
由于工作的需要,今天开发了有史以来第一个PL/SQL程序,写的是一个存储过程。功能:根据条件的不同,分别从两个表取得字段,然后把这些这段插入到另一个表里。现在把遇到的问题总结如下:尽量避免使用游标,游标效率有点低。尽量少用IF判断,改用CASE...WHEN来实现在类型转换的时候,最好不要对表的字段进行转换,应该对变量进行转换。好处就是索引可以使用。别忘了用dbms_ou...原创 2010-05-10 21:07:34 · 92 阅读 · 0 评论 -
PL/SQL 判断年末,月末,周日
v_flag Varchar(3);v_year Varchar(1);v_month Varchar(1);v_day Varchar(1); --判断日报标志 If to_char(sysdate-1,'d') = '1' Then v_day := '1'; Else v_day := '0'; End If; --判断月报标志 If to_...原创 2010-05-11 10:19:49 · 499 阅读 · 0 评论 -
oracle表分区详解
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作.(1.) 表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是...原创 2010-07-28 22:23:29 · 84 阅读 · 0 评论 -
高手详解SQL性能优化十条经验
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列...原创 2010-07-28 22:35:24 · 89 阅读 · 0 评论 -
存储过程的优缺点
在性能方面,存储过程的优点: 1、预编译,存储过程预先编译好放在数据库内,减少编译语句所花的时间。 2、缓存,编译好的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其他次执行的速度会有明显提高。 3、减少网络传输,特别对于处理一些数据的存储过程,不必像直接用sql语句实现那样多次传送数据到客户端。 4、更好的利用服务器内存,特别对于处理中...原创 2010-05-21 14:03:22 · 118 阅读 · 0 评论 -
PL/SQL 中如何正确选择游标类型
PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种。所以,我们可以认为,有3种游标用法:A. 显式游标B. select into隐式游标C. for .. in 隐式游标如何正确的选择使用哪种游标,将对你的程序的性能,可读性,代码量等产生重大影响……--By RollingPig,本文简单的列举了PL/...原创 2010-06-03 11:47:43 · 124 阅读 · 0 评论 -
处理上百万条的数据库如何提高处理查询速度
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: sel...原创 2010-06-03 11:59:19 · 124 阅读 · 0 评论 -
如何考虑存储过程编写经验和优化措施
1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验。2、开发人员在提交SP前,必须已经使用set showplan on分析过查询计划,做过自身的查询优化检查。 3、高程序运行效率,优化应用程序,在...原创 2010-06-03 12:07:48 · 101 阅读 · 0 评论 -
如何避免使用游标
问题的提出 我们在根据一个结果集的内容,处理另一个结果集的时候,一般的会考虑到使用下面形式的游标: 游标定义 打开游标 从游标中取第一条数据 循环开始,以游标取数后的状态为循环控制条件 修改相关数据表的内容 从游标中取下一条数据 循环结束 关闭游标 上面的流程在处理的数据量比较小的时候没有什么问...原创 2010-06-03 12:08:50 · 411 阅读 · 0 评论