游标在数据库领域被广泛使用,尤其是对于需要将SQL语句返回的数据集进行逐行处理的时候。这为数据处理提供了极大的便利性,然游标的不当
使用从某种程度上而言会降低数据库的性能。下面的是一个来自生产环境的实际例子,由于使用了参数游标,所以引发了多次遍历。
一、源代码
二、代码改进
三、调整后结果比对
四、总结
1、参数游标从某种程度上而言,增加了游标的灵活性。即一次定义,多次调用。
2、对基于相同表使用参数游标将会导致对表对象的多次数据读取,增加了I/O开销。
使用从某种程度上而言会降低数据库的性能。下面的是一个来自生产环境的实际例子,由于使用了参数游标,所以引发了多次遍历。
一、源代码
二、代码改进
三、调整后结果比对
四、总结
1、参数游标从某种程度上而言,增加了游标的灵活性。即一次定义,多次调用。
2、对基于相同表使用参数游标将会导致对表对象的多次数据读取,增加了I/O开销。
3、尽可能的缩小数据中间结果集,如上面的获得最大的contract_num,由于生成的其唯一性,我们可以将搜索范围限制在一周或当天。
五、更多参考
dbms_xplan之display_cursor函数的使用