使用SQL存储过程要特别注意的问题-注意顺序读取
敬业的IT人
互联网
佚名
2008-2-28 0:27:25
存储过程是一个运行于SQL数据库之中最核心的事务,它通过长驻内存的形式,进行读取处理写入最为频繁处理的数据.
ASP虽然在微软的ASPX的侵袭下,仍旧是中小企业继续在用的一种网页语言,但是当要读取海量数据的时候,如果仍旧使用普通的SQL进行读取运行与写入,将导致系统资源的严重浪费,所以我们在ASP中使用存储过程,以提高数据的存取速度,同时通过SQL核心的获取数据的方法,可以有效的减少垃圾数据(不被立即使用,而且也不备较短的时间里被使用的数据)操作.
在ASP中使用存储过程也是相当的容易,例如以下一个通过SQL存储过程进行分页的方法:
存储过程:
CREATE procedure p_splitpage
@sql nvarchar(4000), --要执行的sql语句
@page int=1, --要显示的页码
@pageSize int, --每页的大小
@pageCount int=0 out, --总页数
@recordCount int=0 out --总记录数
as
set nocountid")
newsTitle = rs("newsTitle")
...
分析出现这个的原因是:SQL数据库在构造虚拟表的时候就是以一种先进先出的原则,把所有的数据排列在一个内存段之中,通过顺序的读取,将数据逐一的读取,而如果跳过某个具体的字段获取下一个字段的信息,系统就会将原来的那个字段的信息丢失,以释放内存,这是出于系统构造的简单性和系统的内存最低化的要求,所以这样也保证了有限的内存资源得到最充分的发挥,这也是为什么存储过程比普通的SQL要快的原因.
ASP虽然在微软的ASPX的侵袭下,仍旧是中小企业继续在用的一种网页语言,但是当要读取海量数据的时候,如果仍旧使用普通的SQL进行读取运行与写入,将导致系统资源的严重浪费,所以我们在ASP中使用存储过程,以提高数据的存取速度,同时通过SQL核心的获取数据的方法,可以有效的减少垃圾数据(不被立即使用,而且也不备较短的时间里被使用的数据)操作.
在ASP中使用存储过程也是相当的容易,例如以下一个通过SQL存储过程进行分页的方法:
存储过程:
CREATE procedure p_splitpage
@sql nvarchar(4000), --要执行的sql语句
@page int=1, --要显示的页码
@pageSize int, --每页的大小
@pageCount int=0 out, --总页数
@recordCount int=0 out --总记录数
as
set nocountid")
newsTitle = rs("newsTitle")
...
分析出现这个的原因是:SQL数据库在构造虚拟表的时候就是以一种先进先出的原则,把所有的数据排列在一个内存段之中,通过顺序的读取,将数据逐一的读取,而如果跳过某个具体的字段获取下一个字段的信息,系统就会将原来的那个字段的信息丢失,以释放内存,这是出于系统构造的简单性和系统的内存最低化的要求,所以这样也保证了有限的内存资源得到最充分的发挥,这也是为什么存储过程比普通的SQL要快的原因.
- 最新文章
- 新手宝典:SQL Server的几个安全问题[02-28]
- Access数据库和项目之间的数据类型的比较或映射[02-28]
- 修改SQL Server 2005执行环境[02-28]
- SQL Server对图像数据的存储机制介绍[02-28]
- SQL Server数据库中存储引擎深入探讨[02-28]
- 构造SQL Server的安全门[02-28]
- 相关文章
- 新手宝典:SQL Server的几个安全问题[02-28]
- 修改SQL Server 2005执行环境[02-28]
- SQL Server对图像数据的存储机制介绍[02-28]
- SQL Server数据库中存储引擎深入探讨[02-28]
- 构造SQL Server的安全门[02-28]
- 利用索引提高SQL Server数据处理效率[02-28]
