首页 > CMS > 动易CMS > 正文

为什么动易的sql版里没有任何存储过程?

2024-09-10 21:53:49
字体:
来源:转载
供稿:网友

问题:为什么动易的sql版里没有任何存储过程?这样的sql高效率如何能体现呢?
解答:动易的前台使用生成HTML静态页面功能,不需要存储过程。动易系统后台的治理页面要根据几十个条件组合成查询语句,存储过程根本不可如此灵活。太简单的查询如:select * from PE_Class order by RootID,OrderID也没有必要使用存储过程。

问题:但经常看到这样的说明 没有存储过程的sql程序效率可能还比不上ac?
解答:以下是以下是SQL2000的联机帮助内容:

使用 SQL Server 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优势有:
答应模块化程序设计。
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。
答应更快执行。
假如某操作需要大量 Transact-SQL 代码或需重复执行,存储过程将比 Transact-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 Transact-SQL 语句时,都要从客户端重复发送,并且在 SQL Server 每次执行这些语句时,都要对其进行编译和优化。
减少网络流量。
一个需要数百行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。
可作为安全机制使用。
即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。

  所以存储过程只是体现在“快”这方面,其他与普通的SQL语句是一样的。动易系统启用了生成静态页面功能,再快的存储也比不过已生成的静态页面。
  对于一些些C/S结构的软件,在客户端进行数据库的查询,这才会比存储过程引发更多的网络流量。对于服务器端程序来说,存储过程与普通查询都是在服务器的内存中进行的,所以都是一样的网络流量。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选