易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server 2005中的CLR(2)

文章导航 SQL Server 2005 学习笔记系列文章导航
       这一节咱们来说说ClR的性能,我们不能只使用它而不去考虑到低 为什么要使用它或是在什么时候应该使用它,像我之前写的函数得到一个字符的长度的方法就没有太大必要了,但如果是像拆分字符这样的方法应该就有必要了,比如c#里的Split ()方法,在Sql里就没有这样的函数这个时候 我们就可以使用Clr来完成了,
其实实现 的方法是跟上一节SQL Server 2005中的CLR(1) 里的没有任何分别只是把函数的代码换成下面的代码就可以了
代码
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class UserDefinedFunctions
{
    //表示注册为Sql中的函数
    [Microsoft.SqlServer.Server.SqlFunction]
    public static string sqlSplit(string str, int x)
    {
        // 返回字符串的长度
        return str.Split(',')[x].ToString ().Trim();
    }
};
   这里是简单的实现,大家可以根据自己的需要来实现
  说到他的性能我们先来和T-SQl语言比较一下吧
  1.编程模型
  T-Sql 
       过程代码内部嵌入查询语言
            意思就是说,在T-Sql里我们一般是把查询语句写在存储过程里的,这样的效率很高,因为它是直接访问数据库,但是如果出现不同数据库间的移植就很不方便了
  CLR
   intp-proc ado.net数据访问(这里要导航一个using System.Data.SqlClient;)
         注:  相比T-Sql肯定是在执行效率上有些不足了,因为它毕竟是经过一层的封装的,而最后还是通过Ado来执行T-SQl语句,但也不是完全没有用武之地
        容易在各层之间移动代码和利用现有技术
        


相关文档:

传智播客-Tree in SQL(译文)(3)

This has some predictable results that we can use for building queries. The root is always of the form (left = 1, right = 2 * (SELECT COUNT(*) from TreeTable)); leaf nodes always have (left + 1 = right); the BETWEEN predicate defines the subtrees; and so on. Here are some common queries that you can ......

bulletedlist 加 sql server 采集网站地址

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{ ......

ADO.NET与ORM的比较(3):Linq to SQL实现CRUD

  说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibernate,除了在学习基础知识的时候被告知可以使用JDBC操作数据库之外,大量的书籍中都是讲述使用Hibernate这个ORM工具来操作数据。在.NET中操作数据库的方式有多种,除了最直接的方式就是使用ADO.NET之外,还可以使用NHiber ......

SQL Server和MySQL中Top用法的区别

      今天练习在JSP页面中实现分页效果,在查询语句方面牵扯到了top的用法。简要做一下总结:
      为实现类似top的功能,我们在SQL Server中和MySQL中使用到的SQL语句是不同的。
      1、在SQL Server中,我们使用  select top N * ......

(网摘)SQL分页语句


之前偶然逛网页的时候看到的,详细的网址忘记copy过来了,真是抱歉。觉得简单易懂,所以转了,嘻嘻
有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活。先看看单条 SQL 语句的分页 SQL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号