仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 914|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网站制作之SQL Server 2005 CLR 功效简介

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在我们工作的过程中,经常能听到很多不使用MySQL的理由,虽然其中有一些是对MySQL的误解,不过同样也有一些是合情合理的。  在SQLServer2005的浩瀚被高度评价的特征中,有一个最合适那些对SQLServer编程的职员的就是通用言语运转时,缩写为CLR(CommonLanguageRuntime)。CLR同意编程职员间接在SQLServer中创立存储历程,触发器,用户界说函数,汇合和范例。CLR有良多的答应,可是它也具有一些缺点。
  CLR的主要性有几个对照年夜的缘故原由。起首,因为SQLServer编程已成熟了,编码器运转在SQLServer本身大概的限定当中,而且很年夜水平上依附于内部代码来实行一些沉重的操纵。T-SQL(Transact-SQL)在前往数据汇合方面十分好,可是在其他方面就不是很好了。CLR使得办理成绩和缩减SQLServer外部的数据复制成为大概,经由过程在SQLServer中必要完整地分别程序来勉力完成。.NET利用代码和实行速率方面比SQLServer和T-SQL强很多;.NET中一样地位的代码因为是二进制,因而其运转屡次仍旧比构建为存储历程快上很多。
  利用CLR的另外一个伟大的优点就是:平安。一切的代码都是在运转之前检测范例和允许平安的。比方,先前没有被写进的内存是不会被哀求中的代码会见的。CLR还十分的完美;.NET框架中的素有的器材都能够在存储历程、触发器大概用户函数中举行会见——除处置相似用户界面的类,这些类在SQLServer中没有效处。
  为了不CLR的猖狂运转,微软创立了一个三层的平安模子,划定了CLR代码是怎样挪用的:平安、内部会见和不平安(SAFE,EXTERNAL_ACCESSandUNSAFE)。平安权限设置与传统的能够实行的存储历程一样主要。它不成以被SQLServer本身以外的任何器材修正。内部会见同意经由过程.NET来会见注册表和文件体系。不平安的定名很得当。被标志为不平安的代码不克不及做任何事变,而且他们实践上在调试大概实验情况以外没法利用。年夜多半的编程职员都不必要利用高于内部会见的器材。(假如你必要在存储历程大概函数的情况内会见文件体系大概注册表,那末很有大概标志着你必要从头思索你正在做的事变的逻辑了。)
  但是,CLR其实不合适一切的器材。有一件事,它大概最合适那些不轻松、必要编程的、在T-SQL中完成的情况。很多复杂的操纵能够作为T-SQL中的存储历程完成,其实不必要做成内部处置。这意味着高低文交换和分外的事件包袱,这两项中的每项城市抵消你利用CLR带来的最次要的速率的提拔。CLR用于交换扩大存储历程是最好的——比方,那些与数据库干系亲切,可是T-SQL处置起来过于烦琐的,而且很难轻松地挪动到事物的营业逻辑真个。
  另有一个大概的倒霉是:正如SQL的首脑RodPaddock在他的blog内里指出的,假如你将营业逻辑的某个部分挪动到更靠近数据库,那末有大概引发可丈量性的成绩。不论怎样说,SQLServer都更合适按比例扩展地放在单个的年夜型机上,而不是散布在多个较小的呆板上(这一般是营业逻辑的丈量体例S)。以上指出了有选择地利用CLR是何等的主要。T-SQL十分松散而且无效率;CLR/.NET具有扩大性和包涵性。准确的事情是接纳准确的工具,固然具有良多的选择是何等好的一件事变。
这一切听起来不错,无疑DBaaS具有很多相对于RDBMS的优势。然而MySQL学习教程,DBaaS也有其局限性,云服务中固有的局限性就是之一。当客户开始将数据放入云端时,他们会遭遇到无法控制的网络性能问题。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 07:08:46 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
山那边是海 该用户已被删除
板凳
发表于 2015-1-27 14:07:04 | 只看该作者
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
admin 该用户已被删除
地板
发表于 2015-2-5 11:17:27 | 只看该作者
总感觉自己还是不会SQL
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-11 14:30:11 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-3-2 14:59:01 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
柔情似水 该用户已被删除
7#
发表于 2015-3-11 04:19:47 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
深爱那片海 该用户已被删除
8#
发表于 2015-3-17 20:51:53 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
飘灵儿 该用户已被删除
9#
发表于 2015-3-25 02:16:09 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 20:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表