随笔分类 -  06.SqlServer

摘要:终于开始写博客了。不要笑啊。下面是MSSQL 的发行版本以及版本号。自己整理的。http://support.microsoft.com/kb/321185/zh-cnSQL Server 2012 版本信息发行版 产品版本 SQL Server 2012 Service Pack 1 11.00.3000.00 SQL Server 2012 RTM 11.00.2100.60 SQL Server 2008 R2 版本信息发行版 产品版本 SQL Server 2008 R2 Service Pack 2 10.50.4000.0 SQL Server 2008 R2 Serv... 阅读全文
posted @ 2013-12-11 14:16 海上浪子 阅读(620) 评论(0) 推荐(0) 编辑
摘要:虽然开发过程中没用过行列转换,但是听说面试时常常会遇到这个问题,以前在网上也看到过大神的例子,今天自己仔细的玩了下,希望和大家分享一下了。注意:列转行的方法可能是我独创的了,呵呵,因为在网上找不到哦,全部是我自己写的,用到了系统的SysColumns(一)行转列的方法先说说行转列的方法,这个就比较好想了,利用拼sql和case when解决即可实现目的1:建立测试用的数据库CREATE TABLE RowTest( [Name] [nvarchar](10) NULL,--名稱 [Course] [nvarchar](10) NULL,--課程名稱 [Record] [int... 阅读全文
posted @ 2013-12-11 14:15 海上浪子 阅读(233) 评论(0) 推荐(0) 编辑
摘要:简介 分区表是在SQL SERVER2005之后的版本引入的特性。这个特性允许把逻辑上的一个表在物理上分为很多部分。而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个表做union操作. 分区表在逻辑上是一个表,而物理上是多个表.这意味着从用户的角度来看,分区表和普通表是一样的。这个概念可以简单如下图所示: 而对于SQL SERVER2005之前的版本,是没有分区这个概念的,所谓的分区仅仅是分布式视图: 本篇文章所讲述的分区表指的是SQL SERVER2005之后引入的分区表特性.为什么要对表进行分区 在回答标题的问题之前,需要说明的是,表分区这个特性只有.. 阅读全文
posted @ 2013-12-11 10:34 海上浪子 阅读(197) 评论(0) 推荐(0) 编辑
摘要:在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了。/// /// 提供数据批量处理的方法。 /// public interface IBatcherProvider : IProviderService { /// /// 将 的数据批量插入到... 阅读全文
posted @ 2013-12-11 09:22 海上浪子 阅读(441) 评论(0) 推荐(0) 编辑
摘要:一、C# vs SQLite: C#SQLite字段名类型库类型GetFieldType(#)转换备注F_BOOLboolBIT NOT NULLBoolean F_BOOL_NULLbool?BITBoolean F_SBYTEsbyteINT8 NOT NULLSBytesbyte_ F_SBYTE_NULLsbyte?INT8SBytesbyte_ F_BYTEbyteUINT8 NOT NULLByte F_BYTE_NULLbyte?UINT8Byte F_SHORTshortINT16 NOT NULLInt16 F_SHORT_NULLshort?INT16I... 阅读全文
posted @ 2013-12-11 08:56 海上浪子 阅读(895) 评论(3) 推荐(0) 编辑
摘要:在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,我们可以使用保留历史数据或者使用版本来实现。为了能够保留历史数据,在版本设计时有以下方案:一、使用版本号版本号是一种常见的版本设计方案,就是在要进行历史数据保留的表上面增加一个版本号字段,该字段可以是DateTime类型,也可以是int类型,每进行数据操作时,都是创建一个新的版本,版本是只增不减的,所以只需要拿到最大一个版本号,就能得到最新的业务数据。版 本号除了能够用于留存历史数据外,还有一个功能就是避免并发编辑操作。比如我们有一个对象A,当前的版本是1,两 阅读全文
posted @ 2013-12-10 16:46 海上浪子 阅读(359) 评论(0) 推荐(0) 编辑
摘要:又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上。最近还写了一个发邮件的组件以及性能测试请看 《NET开发邮件发送功能的全面教程(含邮件组件源码)》,还弄了个MSSQL参数化语法生成器,会在9月整理出来,有兴趣的园友可以关注下我的博客。分享原由,最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案。我和我的小伙伴们也讨论了这个主题,我受益匪浅啊……博文示例:GUID生成Int64值后是否还具有唯一性测试Random生成高唯一性随机码今天分享的主题是:如何在高并发分布式系统中生成全局唯一Id。但这篇博文实际上是“半分享半讨论”的博文:1) 半分享是我将 阅读全文
posted @ 2013-12-09 09:43 海上浪子 阅读(809) 评论(0) 推荐(0) 编辑
摘要:随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。一、负载均衡技术 负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。1、实现原理 实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序 来访问这个中间层,然后再由中间层来访问数据库。这样,我们就 阅读全文
posted @ 2013-12-09 09:38 海上浪子 阅读(511) 评论(0) 推荐(1) 编辑
摘要:故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常感谢我在第一家公司帮助我进步的兄弟(我在时的项目经理,现为 x 知名自动识别行业企业部门高级经理)。下面介绍6年后和6年前的我的职业生涯中的两个单表大数据故事。(1) 6年后 单表大数据 之故事(一) 来之前老友告之现在核心运营系统 Oracle数据库中单表数据半年过10亿了,使用传统T-Sql不论如何优化,查询客户信息速度也提升不上去。需要使用企业级搜索引擎(Solr)来解决本部门其余两大辅助业务系统去查询客户信息。如果我过去的话,先把这块带肉的骨头啃了。当时一听 阅读全文
posted @ 2013-11-28 17:36 海上浪子 阅读(2842) 评论(35) 推荐(9) 编辑