SQLSERVER CLR无序自增(支持并发)性能对比

来源:未知 责任编辑:责任编辑 发表时间:2015-09-09 15:37 点击:

CLR函数脚本
---------------------------------------------------------------------------------
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Collections;
/// <summary>  www.2cto.com  
/// 用户自定CLR 函数,用来生成一个序列
/// </summary>
public partial class test
{
     
    public static Hashtable ht=new Hashtable(); //创建一个Hashtable实例
 
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlInt64 GetRowNum(SqlGuid Guid1)
    {
        try
        {
            if (!ht.Contains(Guid1)) //判断哈希表是否包含特定键,其返回值为true或false
            {
                ht[Guid1] = 0;
            }
            Int64 i = Convert.ToInt64(ht[Guid1].ToString());
            i++;
            ht[Guid1] = i.ToString();
            return i;
        }
        catch
        {
            return -1;
        }
    }
    /// <summary>
    /// 删除哈希表值
    /// </summary>
    /// <param name="Guid1"></param>
    [Microsoft.SqlServer.Server.SqlProcedure ]
    public static void ClearGuid(SqlGuid Guid1)
    {  www.2cto.com  
        try
        {                 
            ht.Remove(Guid1);
            return ;
        }
        catch
        {
        }
    }
};
 
------------------------------------------------------------------------------------------------------------------------------
启动CLR
exec sp_configure 'show advanced options','1';
go
reconfigure  WITH OVERRIDE 
go
exec sp_configure 'clr enabled','1'
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • LINUX上RMAN自动备份脚本
  • sql server 列转行
  • SQL SERVER2008日常自动化备份
  • SQL Server 2005 镜像构建手册
  • SQL编程(一)
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1