深入理解MYSQL游标

万物皆有存在的理由,很多人都认为有效有害无益。由于理解的升入,也许会改变大家的看法。

游标的三个属性:

1,Asensitive,数据库也可以选择不复制结果集。

2,Read only,不能更新。

3,Nonscrollable,游标只能向一个方向行进,并且不可以跳过任何一行数据。

 使用游标的步骤:

1,定义游标变量

DECLARE cur_name CURSOR    FOR select_statement;
2,打开游标

OPEN cur_name;
3,从游标中取数据

FETCH cur_name INTO var1_name,[var2_name]...

4,关闭游标

CLOSE cur_name;

游标的开销来自于处理每一行数据。游标的操作的快慢取决于数据集合的大小。

 SQL语句的扫描成本为O(N),游标性能不会有巨大提升,游标会有额外的开销;如果游标扫描成本为O(N**2),或许可以带来性能的提升。

原文地址:https://www.cnblogs.com/alang85/p/2942454.html