t*9
3 楼
一)DATASet:恭喜你不用写T-SQL了,但是你要学会它的语法,从此不用担心多数据库
应用的问题。但是惨了,它为了兼容多种数据库因此T-SQL写的真的“很兼容”执行效
率太低,同样的一个表现结果,这个SQL嵌套了好几次,效率灰常低。
二)LINQ:你也不用写T-SQL了,它的语法学学还是好处颇多,因因为你在LINQ TO
OBJECT上也能见到这种语法的影子收益颇多,它的执行效率很快,但是不管怎么讲也没
有你直接用SQL Server .NET Framework数据提供程序,自己写SQL快,可控制程度高,
好处也是显而易见就像用DATASET一样,你不用再为了数据持久化问题写一大堆ORM的东
西了。
三)存储过程:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般
SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可
将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
5.减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可
能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条
一条的调用SQL语句要高得多。
6.执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了
一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这
样下次再执行同样的存储过程时,可以从内存中直接调用。
7.更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库
开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会
对应用程序造成影响。
8.布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
应用的问题。但是惨了,它为了兼容多种数据库因此T-SQL写的真的“很兼容”执行效
率太低,同样的一个表现结果,这个SQL嵌套了好几次,效率灰常低。
二)LINQ:你也不用写T-SQL了,它的语法学学还是好处颇多,因因为你在LINQ TO
OBJECT上也能见到这种语法的影子收益颇多,它的执行效率很快,但是不管怎么讲也没
有你直接用SQL Server .NET Framework数据提供程序,自己写SQL快,可控制程度高,
好处也是显而易见就像用DATASET一样,你不用再为了数据持久化问题写一大堆ORM的东
西了。
三)存储过程:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般
SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可
将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
5.减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可
能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条
一条的调用SQL语句要高得多。
6.执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了
一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这
样下次再执行同样的存储过程时,可以从内存中直接调用。
7.更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库
开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会
对应用程序造成影响。
8.布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
H*g
4 楼
一般的数据库操作,LINQ的效率和SP的完全一样。如果碰到海量的INSERT/UPDATE的话
,还是SP快。另外,LINQ可以直接调用SP。DATATABLE现在没人用了吧。
,还是SP快。另外,LINQ可以直接调用SP。DATATABLE现在没人用了吧。
S*y
7 楼
没有最好,只有最合适
IMO, dataset is heavily coupled
IMO, dataset is heavily coupled
t*9
8 楼
1,强类型DATASET
2,存储过程
3,LINQ
这三种方种有什么优缺点呢?
2,存储过程
3,LINQ
这三种方种有什么优缺点呢?
t*9
10 楼
一)DATASet:恭喜你不用写T-SQL了,但是你要学会它的语法,从此不用担心多数据库
应用的问题。但是惨了,它为了兼容多种数据库因此T-SQL写的真的“很兼容”执行效
率太低,同样的一个表现结果,这个SQL嵌套了好几次,效率灰常低。
二)LINQ:你也不用写T-SQL了,它的语法学学还是好处颇多,因因为你在LINQ TO
OBJECT上也能见到这种语法的影子收益颇多,它的执行效率很快,但是不管怎么讲也没
有你直接用SQL Server .NET Framework数据提供程序,自己写SQL快,可控制程度高,
好处也是显而易见就像用DATASET一样,你不用再为了数据持久化问题写一大堆ORM的东
西了。
三)存储过程:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般
SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可
将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
5.减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可
能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条
一条的调用SQL语句要高得多。
6.执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了
一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这
样下次再执行同样的存储过程时,可以从内存中直接调用。
7.更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库
开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会
对应用程序造成影响。
8.布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
应用的问题。但是惨了,它为了兼容多种数据库因此T-SQL写的真的“很兼容”执行效
率太低,同样的一个表现结果,这个SQL嵌套了好几次,效率灰常低。
二)LINQ:你也不用写T-SQL了,它的语法学学还是好处颇多,因因为你在LINQ TO
OBJECT上也能见到这种语法的影子收益颇多,它的执行效率很快,但是不管怎么讲也没
有你直接用SQL Server .NET Framework数据提供程序,自己写SQL快,可控制程度高,
好处也是显而易见就像用DATASET一样,你不用再为了数据持久化问题写一大堆ORM的东
西了。
三)存储过程:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般
SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可
将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
5.减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可
能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条
一条的调用SQL语句要高得多。
6.执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了
一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这
样下次再执行同样的存储过程时,可以从内存中直接调用。
7.更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库
开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会
对应用程序造成影响。
8.布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
H*g
11 楼
一般的数据库操作,LINQ的效率和SP的完全一样。如果碰到海量的INSERT/UPDATE的话
,还是SP快。另外,LINQ可以直接调用SP。DATATABLE现在没人用了吧。
,还是SP快。另外,LINQ可以直接调用SP。DATATABLE现在没人用了吧。
S*y
14 楼
没有最好,只有最合适
IMO, dataset is heavily coupled
IMO, dataset is heavily coupled
w*7
15 楼
有这方面的参考书吗?还是只能看msdn?
W*n
16 楼
stored proc作为数据库接口,前端用Linq包起来,可以做些简单的query.
d*m
17 楼
1 is outdated for long time, replaced by EF(entity framework), you can use
ling & store procedure on top of it.
Another way of accessing db in .net use ado.net or (DAAB)Data Access
Application Block in EnterpriseLibrary, which heavily relies on store
procedures
【在 t********9 的大作中提到】
: 1,强类型DATASET
: 2,存储过程
: 3,LINQ
: 这三种方种有什么优缺点呢?
ling & store procedure on top of it.
Another way of accessing db in .net use ado.net or (DAAB)Data Access
Application Block in EnterpriseLibrary, which heavily relies on store
procedures
【在 t********9 的大作中提到】
: 1,强类型DATASET
: 2,存储过程
: 3,LINQ
: 这三种方种有什么优缺点呢?
相关阅读
vs2012的lightswitch有什么用处?《C# 5.0 核心技术》第5版[PDF] (转载)用了几个小时VS2012RC 我的眼睛快瞎了question: Any benefits for C#程序中写CLR存储过程Writing CLR Stored Procedures in C# ?免费讲座:SQL Server技术交流系列Data Warehouse入门07/25 周(转载)网页上读者comment有必要存在server side吗?CINAOUG/CINASSUG Oracle OpenWorld 2012介绍讲座 by Jiawa 10/29MCTS考试 (转载)5/30-中国人北美甲骨文用户组IT新手入门第五讲 (转载)菜人问问,你们都在database上干什么??c# and asp.net entry level questions.net 4.0 parallel computing 的意义ajax,json,jquery怎么自学?UNIDATA怎么连接进asp.net c#?问个sql问题弱问c# using, try有啥用Any list of MS Visual Studio Developer Tools ? Thank you!谈谈我的.NETAny one has Pex and Moles MSDN version? Thank you!asp.net配置后台管理简直太容易了