当前位置:编程学习 > C#/ASP.NET >>

在ASHX 内,用存储过程和SQL 字符串哪个效率高

在我的ASHX页面内,我收到JSON 字符串解析后没有用存储过程,而是直接用拼成SQL 语句然后插入到数据库,没有用到存储过程。

总感觉用了存储过程要走好多路,感觉效率要低些。请问我这个做法对吗 ?

PS,我的数据量比较大,收到的数据直接解析后插入到数据库,所以对效率有一定要求。



--------------------编程问答-------------------- 数据量大的话,你用sql插入和使用存储过程插入,没有多大区别。如果插入时间不是很久的话,两种方式都可行,但是时间很久的话,就要考虑分批插入了。 --------------------编程问答-------------------- 如果单单只是插入数据,更新或是删除数据,可以优先使用sql语句;
如果你的数据业务逻辑处理非常多或是大的话,建议使用store procedure.

Insus.NET的做法,即然都使用ms sql数据库了,当然是使用store procedure
--------------------编程问答--------------------
引用 2 楼 insus 的回复:
如果单单只是插入数据,更新或是删除数据,可以优先使用sql语句;
如果你的数据业务逻辑处理非常多或是大的话,建议使用store procedure.

Insus.NET的做法,即然都使用ms sql数据库了,当然是使用store procedure


没有业务逻辑,收到JSON数据解析后直接插入 --------------------编程问答-------------------- 统一用 store procedure 吧,这样清晰,以后也好维护 --------------------编程问答-------------------- 我是按你的标题来回答的:

SQL语句,书写方便,开发效率高,修改容易,但速度慢,适合业务较单一的情况。

存储过程,运行速度快,能处理复杂业务,但修改起来有点难,特别是没有服务器远程控制权限的程序员,使用SQL命令来修改存储过程。 --------------------编程问答-------------------- 写在存储过程里面,变成变量,以后有改的也方便。 --------------------编程问答-------------------- 存储过程的效率是最高的,SQL其次,但都得在正确使用的情况下,就是要用参数传递字段值,而不要把值拼接在SQL中。
存储过程快的原因是SQL已经写在数据库中了,只需要发送过程过程名,这肯定比SQL要短很多。 --------------------编程问答-------------------- 你自己写个测试,看看哪一个“效率高”,值不值用户给你一毛钱报酬吧。

该用两者中哪一种,可能有不同答案,但是人家那个层次,决不在于纠缠“效率高低”而选择用哪一个。 --------------------编程问答-------------------- 多年以前,我做过几十个大型百货商场和大型超市,那时候使用SQL Server。后来也做过一些不小的项目,其中一个稍微有点规模的项目有几千万用户(现在已经上亿用户了)有几百万活跃用户,也是使用SQL Server。

但是我的习惯,不使用存储过程。偶尔使用触发器。 --------------------编程问答-------------------- 应该是存储过程效率会高点吧 --------------------编程问答-------------------- 搜索一下StopWatch 可以知道运行时间

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlbulkcopy%28v=vs.90%29.aspx
批量添加,使用SqlBulkCopy更快
如果看不到微软的例子,自己搜搜其他的~
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,