zoukankan      html  css  js  c++  java
  • 创建CLR存储过程

    今天看到一篇文章:通过自定义函数提高服务器性能里面提到了用CLR创建函数。感到好奇,于是自己也试用了一下。

    首先,打开Visual Studio,点击“创建”->“Visual C# ”->“数据库”->“SQL Server 项目”。选择完成后,会自动弹出一个数据库连接的窗口,按照你的实际情况选择吧,这里没什么不同,就不多说了。按照这个步骤就可以创建一个新的SQL Server项目。

    其次,右击项目名称,点击“添加”->“存储过程”,这时会项目里会多出一个.cs文件。编辑一下。

    Code

    第16行:using (SqlConnection conn = new SqlConnection("context connection=true")) 是指“上下文连接”可以让你使用当前登录到数据库的用户作为你的登录数据库的验证信息。

    编辑完成后,我们可以编译一下,如果编译通过。我们就可以将其部署到SQL Server上了。右击项目名称,选择“部署”就OK了。当然直接“运行”,系统也会自动部署它的。

    这个时候,如果我们在SQL Server中执行我们的存储过程,恐怕它会提示有错误。“禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项。
    ”这个时候,我们需要执行下面这段脚本

    Code

    现在好了。再次执行存储过程“Exec StoredProcedures”。就完成了。

    Transact-SQL 存储过程与CLR 存储过程,基本上没有什么不同,不过CLR存储过程是不能在SQL Server里被“修改”的,选择“Create”、“Alter”等也都是看不到存储过程内部的。真正的内容只能在“SQL Server 项目”中才能看得到。

    性能上,我之前试了100000条的数据,同样都是“Select * From 【Table】”Transact-SQL 存储过程用了大约8秒钟,而CLR 存储过程用了大约9~10秒钟,所以肯定还是Transact-SQL 存储过程会比CLR 存储过程稍快些。

    有人说Transact-SQL 存储过程没有CLR 存储过程简便、容易修改,暂时本人却还没有看出什么端倪,等待日后发掘。。。。。。

                                   --小小的,有大大的梦想!
  • 相关阅读:
    5星|施展《枢纽》(上):中国历史就是中原跟草原、西域、雪域、西南、海洋的互动史
    乔布斯在位时,库克实质上已经在做CEO的工作了:3星|《蒂姆·库克传》
    3星|张维迎《企业家精神与中国经济》:逻辑不够严谨,有陷入锤子模式的嫌疑
    4星|《喜鹊谋杀案》:侦探小说手稿也是罪案工具和破案线索【严重剧透】
    近年读了1008本书,挑出32本5星好书
    2019左其盛好书榜,没见过更好的榜单(截至6月30日)
    他们怎么能如此丧尽天良:3星|《天生恶魔?:纽伦堡审判与罗夏墨迹测验》
    原始部落与现代社会成员的熟人数量都不超过邓巴数:3星|邓巴《社群的进化》
    C#文件或文件夹压缩和解压
    HttpWebRequest Timeout
  • 原文地址:https://www.cnblogs.com/ztlyz/p/1468346.html
Copyright © 2011-2022 走看看