在CLR多线程代码存储的特效?

都是多线程CLR存储的特效可能吗?

我有很多潜在的并行数据密集型任务。 CLR存储的特效将是巨大的,除去移动数据进程外的开销,我恐怕我不得不放弃并行计算。

我有什么选择?

注:我们是在SQL Server 2005,并且计划在<4月不等升级到SQL Server 2008

--------------解决方案-------------

如果是数据密集型有潜力并行,你应该处理它导向的方式,让SQL paralelize的processign其认为合适的。 你将无法做任何事情比聪明SQL已经这样做对于分区每个CPU的数据访问,它只是获取信息,你不(缓冲池填充状态,页面的预期寿命,CPU / NUMA亲和力等)。

如果你的处理是标量为导向,CPU密集型(甚至一些集加工为主),将处理的UDF CLR函数,并再次,让查询执行paralelize你的函数执行。

如果您处理有任何形式的I / O(即网络电话), 不要把它放在SQL,发生在服务器进程之外。

如果您处理真正超出所有这些类别,你仍然相信你可以受益于多线程,在理论上是可能的SQL内启动线程。 但是要注意,SQL中的CLR主机不是正常的CLR的主机(即众所周知的应用程序主机或ASP主机)。 SQL CLR是第三主机类型,提供自己的原语(线程,锁定,内存管理等)分层SOS之上构建(工人,锁存器,内存职员等)。 我会强烈建议不要做明确的多线程处理的CLR在SQL中。

分类:SQL服务器 时间:2012-01-01 人气:0
分享到:

相关文章

  • 问题恢复数据库 - SQL服务器 2014-04-07

    我尝试备份和使用SQL服务器2008年恢复数据库,并得到了错误. 备份我做到了这一点BACKUP DATABASE MyDB TO DISK='d:\MyDB.BAK'和它的做工精细) 要恢复我做到了这一点: USE MASTER RESTORE DATABASE MyDB FROM DISK='d:\MyDB.BAK 而得到这个错误: Msg 3159, Level 16, State 1, Line 7 The tail of the log for the database "MyDB &

  • 迁移数据库SQL服务器与Sybase [暂停] 2014-02-25

    我是从MS-SQL数据库迁移到Sybase 15.2,请提出任何工具,它可以帮助我在此任务. 也请把你的经验,SYBASE,尤其是复制. 非常感谢 ! --------------解决方案------------- 根据你的数据库的复杂性. 我使用DTS迁移的其他方式,从Sybase 11/12到MS-SQL 2000. 我不得不这样做既架构和数据的一些清理. 从内存我不得不使用BCP跨重新复制一些数据. 我认为,罪魁祸首是"钱"的数据类型,其中的值不正确碰到过. 您也可以使用SQL

  • 得到错误的附加AdventuresWorks数据库SQL服务器(使用窗口7) 2014-03-09

    我是新手在SQL Server.I我试图附加AdventureWorks数据库与SQL Server 2008(微软Windows 7).继错误 - 谁能告诉我,我怎么能解决这个问题? 提前致谢. --------------解决方案------------- 您正在试图附加AdventureWorksDB.msi. 首先运行该MSI文件,它会在某处提取其内容. 然后,你将需要连接与扩展的.mdf文件. 这是安装程序包(MSI). 必须从资源管理器中运行它首先.

  • 全索引复选框,在创建新的数据库 - SQL服务器 2014-06-30

    我创建一个新的数据库,我基本上是设计用于记录/历史的目的. 所以,我会在这个数据库8-10表. 这将保持数据,我会找回它用于显示历​​史信息给用户. 我从SQL Server 2005创建数据库,我可以看到的是,对"使用全索引"复选框. 我不知道我是否让检查或听之任之. 由于我不熟悉的数据库太多,建议我通过检查它,它会增加我在检索数据库的性能? --------------解决方案------------- 我认为这是对FULLTEXT索引的复选框. 你打开它只有在你打算做一些自然语言

  • 授予一个SQL Server登录访问一个数据库 - SQL服务器 2015-02-11

    我希望授予访问数据库的SQL Server登录. 我知道sp_grantdbaccess,但它已被弃用. 我可以用什么代替,我该如何检查,如果登录还没有对数据库的访问? 场景:用户A创建数据库 - 在sys.database_principals我有名字DBO和用户A的SID条目. 我尝试再次授予用户A permisions:我尝试做一个选择的sys.database_principals的名字='用户A',但因为名字是DBO不是用户a,我得到一个错误 - "登录已具有根据不同的用户名帐户'.

  • 我需要帮助修复我的小时间表表 - 关系型数据库 - SQL服务器 2013-01-07

    我有一个时间表表如下: CREATE TABLE TimeSheet ( timeSheetID employeeID setDate timeIn outToLunch returnFromLunch timeOut ); 员工每天都会将他/她的时间表,我想确保他/她不作弊. 我该怎么办? 我应该创建一个获取系统的日期/时间列时插入/更新情况表,然后比较与创建日期/时间的全职员工的规定 - 如果因此在这种情况下,我将要创建的日期/时间列timeIn,outToLunch,returnFromL

  • SQL服务器 - 数据库使用的所有存储在服务器上的存储过程 2012-02-23

    我有两个表都充满了运行使用存储过程中插入数据并行处理数据的数据库. SQL服务器实际上是使用所有的物理内存,而我注意到,一些表被丢失的数据,当我dbugged,我发现,由于超时错误没有被插入的数据,因为我没有考虑到这一点. 有人告诉我跑EXEC who2,并寻找与此应用程序,它看起来如下相关的所有交易 spid status login hostname blkby dbname command ...... 738 sleeping sa R120 . FeedsRS AWAITING COM

  • 我怎样才能得到一个存储过程调用同一个SQL服务器上的外部数据库? 2012-03-23

    我处理与使用2个不同的数据库来存储信息的Web应用程序. 这些数据库具有引用记录在其他数据库中一些数据库的密钥. 我希望能写于2005年的SQL存储过程可以在当前数据库中修改数据,以及走出去修改一些数据在其他数据库中. 这可能吗? 怎么样? --------------解决方案------------- 您可以完全限定表名(我假设数据库是相同的数据库服务器上) 例如,从存储过程中的DB1: UPDATE DB2.dbo.MyOtherTable SET Field = 'SomeValue' W

  • 请问一个SQL服务器的性能降低,如果数据库不适合在内存中? 2012-03-27

    请问一个SQL服务器的性能大大降低,如果数据库大于RAM? 抑或只是索引必须适合在内存? 我知道这是复杂的,但作为一个经验法则? --------------解决方案------------- 只有工作组或需要适应缓冲区高速缓存(即数据缓存),常用的数据或正在使用的数据. 包括索引了. 也有计划缓存,网络缓存+其他的东西了. MS已经投入了大量的工作,为内存管理SQL Server上,它的效果很好,恕我直言. 一般情况下,更多的内存将帮助,但它不是必需的. 所有的数据库操作都必须备份写入到磁盘上

  • 它是安全的保留一个SQL服务器上所有的数据库? 2012-04-29

    我创建一个使用单独的数据库为每个"客户"多租户应用程序. 它是安全的保留一个SQL服务器上的所有客户端数据库? 假设我给每个DB自己的用户帐户吗? 谢谢 --------------解决方案------------- 有一个优秀的博客文章布伦特Ozar上周这个确切的主题. 如何设计多客户端数据库 这就是是基本上好主意来管理从一个SQL Server中tenanats(更好的资源等方面),但你需要存储的其他租户数据库,角色等的连接字符串创建一个单独的数据库 这将是罚款与一个SQL Ser

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.602 (s). 10 q(s)