07 2013 档案

摘要:1、数据库已经编译过了,一次性编译2、执行速度快3、可以重复使用4、安全性高1、模块化、提高程序安全性2、减少网络流量3、提高系统性能、减轻工作站负荷4、重复执行存储过程比直接写SQL语句执行起来的速度快。正如你所说的,存储过程在执行时是会被SQL优化缓存的,而SQL语句则没有。当然,无论从哪个主面来说,存储过程都比较好一些。 存储过程修改比较快和方便,如果是在编写程序时,只是通过存储过程的名来调用存储过程,一个程序可能在多个地方被引用,所以也可以简化程序。在修改时也比较方便,不用一句一句的去修改。 存储过程的优缺点:优点:1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程... 阅读全文
posted @ 2013-07-31 10:54 沙耶 编辑
摘要:1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) not null default '',classid int not null default 0,writeti 阅读全文
posted @ 2013-07-31 10:45 沙耶 编辑
摘要:一、因情制宜,建立“适当”的索引建立“适当”的索引是实现查询优化的首要前提。索引(index)是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随着表变得越来越大,使用“适当”的索引的效果就越来越明显。注意,在这句话中,我们用了“适当”这个词,这是因为,如果使用索引时不认真考虑其实现过程,索引既可以提高也会破坏数据库的工作性能。(一)深入浅出理解索引结构实际上,您可以把索引理解为一种特殊的目录。微软的SQLSERVER提供了两种索引:聚集索引(clustered 阅读全文
posted @ 2013-07-31 10:25 沙耶 编辑
摘要:什么是模块化模块化这个词最早出现在研究工程设计中的《Design Rules》,这本探路性质的书中。其后模块化原则还只是作为计算机科学的理论,尚不是工程实践。此时硬件的模块化一直是工程技术的基石之一。如标准螺纹、汽车组件、计算机硬件组件等。软件模块化的原则也是随着软件的复杂性诞生的。从开始的机器码、子程序划分、库、框架、再到分布在成千上万公里的互联网上主机上的程序库。模块化是解决软件复杂性的重要方法之一。模块化以分治法为依据,但是否意味着我们把软件无限制的细分下去。事实上当分割过细,模块总数增多,每个模块的成本确实减少了,但模块接口所需代价随之增加。要确保模块的合理分割则须了解信息隐藏,内聚度 阅读全文
posted @ 2013-07-29 14:33 沙耶 编辑
摘要:发布日期:2009.12.29 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。问题的提出晚上翻着群里的聊天,发现一个有趣的问题:如何通过编码方式来判断一个dll或者exe为debug build还是release build?由于没有太多的讨论,所以我只好自己找点儿办法,试图解决这个问题,为夜生活带点刺激。于是,便有了本文的探索和分析。当然,为了充分的调动起大家的主意,省去不必要的google操作,我觉得有必要对Debug和Release两种模式的异同进行一点提纲挈领式的分析,从而为接下来的解决方案打好基础。Debug & R 阅读全文
posted @ 2013-07-25 09:43 沙耶 编辑
摘要:发布日期:2009.10.30 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。在.NET世界了,object是公认的造物主,其麾下的7大成员,个顶个的横行在任何系统的任何代码角落。public class Object{ public Object(); public virtual bool Equals(object obj); public static bool Equals(object objA, object objB); public virtual int GetHashCode(); publi... 阅读全文
posted @ 2013-07-25 09:41 沙耶 编辑
摘要:发布日期:2009.10.29 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。对象的创建方式,始终代表了软件工业的生产力方向,代表了先进软件技术发展的方向,也代表了广大程序开发者的集体智慧。以new的方式创建,通过工厂方法,利用IoC容器,都以不同的方式实现了活生生实例成员的创生。而本文所关注的Lazy也是干这事儿的。不过,简单说来,Lazy要实现的就是按“需”创建,而不是按时创建。我们往往有这样的情景,一个关联对象的创建需要较大的开销,为了避免在每次运行时创建这种家伙,有一种聪明的办法叫做实现“懒对象”,或者延迟加载。.NET 4. 阅读全文
posted @ 2013-07-25 09:38 沙耶 编辑
摘要:发布日期:2009.06.01 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。Tuple,是函数式编程的概念之一,早见于Elang、F#等动态语言。不过,我第一次听说Tuple还早在2005年园子的Ninputer大牛提出在.NET 2.0实现Tuple的基本想法,我们可以通过以下地址仰慕当时的历史片段:探讨.NET 2.0中Tuple的实现方法由此可见,Tuple不是.NET 4.0的创造发明,但却是C#趋于函数式编程概念的必要补充。那么,我们首先来看看,什么是Tuple?Tuple为何物?什么是Tuple,在汉语上我们将其翻译为元 阅读全文
posted @ 2013-07-25 09:36 沙耶 编辑
摘要:发布日期:2009.05.22 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。/// /// 本文开始,将以《.NET 4.0深入》为主线,开始一段体验.NET 4.0的激动旅程。/// 总体来说,这是一篇介绍性的文章,不会涉及过多技术细节和研究过程。但是,作为拉开序幕的第一页,本文以提纲挈领的方式展开对.NET 4.0的初次体验。从What’s new的角度,开始我对.NET 4.0新特性的探索之旅。既然是介绍,那么首先给出导航式的链接是必要而必须的,因为一篇小小的篇幅却是难以交代全面What’s new in details,所以 阅读全文
posted @ 2013-07-25 09:35 沙耶 编辑
摘要:string是c#中的类,String是.net Framework的类(在C# IDE中不会显示蓝色) C# string映射为.net Framework的String 如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。 如果使用C#,建议使用string,比较符合规范 string始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enu... 阅读全文
posted @ 2013-07-24 12:07 沙耶 编辑
摘要:发布日期:2009.05.11 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。/// /// 本文部分内容,已发表于《程序员》杂志第二期《C#,语言的变迁》/// 引言语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了初出茅庐的前行方向。本文不欲计较门派的高下,旨在明辨技术的真谛,这就是.NET平台下的开发利器:C#语言,并从其变迁的进程中对于.NET技术发展把玩一番。在下篇,我们将从历史走来,对.NET的未来做个展望性 阅读全文
posted @ 2013-07-24 12:01 沙耶 编辑
摘要:发布日期:2009.05.08 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。/// /// 本文部分内容,已发表于《程序员》杂志第二期《C#,语言的变迁》/// 引言语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了初出茅庐的前行方向。本文不欲计较门派的高下,旨在明辨技术的真谛,这就是.NET平台下的开发利器:C#语言,并从其变迁的进程中对于.NET技术发展把玩一番。在上篇,我们走在历史,对.NET的过去尤其是c#语言 阅读全文
posted @ 2013-07-24 11:42 沙耶 编辑
摘要:发布日期:2009.3.18 作者:Anytao© 2009Anytao.com,原创作品,转贴请注明作者和出处。1 缘起老赵在谈表达式树的缓存(2):由表达式树生成字符串中提到,在描述Type信息时讨论FullName或者AssemblyQualifiedName提供完整的Type信息,虽是小话题,但却是值得有聊的话题。在.NET中反应一个Type名称信息的有以下三个属性,分别是:Name,获取当前成员的名称。FullName,获取Type 的完全限定名,包括Type的命名空间,但不包括程序集。AssemblyQualifiedName,获取Type的程序集限定名,其中包括从中加载 阅读全文
posted @ 2013-07-24 10:15 沙耶 编辑
摘要:发布日期:2009.03.05 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前在.NET世界里,我们常常听到的一句话莫过于“System.Object是一切类型的根,是所有类型的父类”,以至于我在《你必须知道的.NET》8.1节 以“万物归宗:System.Object”这样的title为System.Object授予至高荣誉。所以,基于这样的观点就有了下面这句“接口是否也继承于System.Object?”,事实上这正是今天在技术群里小小讨论的一个插曲。www.anytao.com1 缘起在.NET世界里,我们常常听到 阅读全文
posted @ 2013-07-24 09:31 沙耶 编辑
摘要:在Winsows 2008 Server 上安装asp.net 1.1 的应用程序,在启用默认文档或者浏览目录时会向 web.config 文件添加 节,这时就可能报错:“/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 无法识别的配置节“system.webServer” 源错误: 行 1: 行 2: 行 3: 行... 阅读全文
posted @ 2013-07-23 16:53 沙耶 编辑
摘要:在使用VS.net2003开发asp.net项目时,有时候在你调试项目时,会提示”无法在web服务器上启动调试,不是Debugger User组成员..."这样一个错误信息。很是让人头疼,一般都会检查WEBCONFIG文件,项目的调试属性,IIS的设置等。但有时候也不管用,下面根据别人的总结和自己的总结整理了一下,希望可以彻底解决此问题。1.首先,可以参看microsoft的帮助:http://msdn2.microsoft.com/zh-cn/library/dwesw3ee.aspx.2.如果微软的帮助对你没什么作用,那看看下面的方法有没有用。2.1:确认在“配置属性”中的“启用 阅读全文
posted @ 2013-07-23 16:29 沙耶 编辑
摘要:发布日期:2009.03.04 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前书接上回:第二十四回:认识元数据和IL(上),第二十五回:认识元数据和IL(中)我们继续。终于到了,说说元数据和IL在JIT编译时的角色了,虽然两个回合的铺垫未免铺张,但是却丝毫不为过,因为只有充分的认知才有足够的体会,技术也是如此。那么,我们就开始沿着方法调用的轨迹,追随元数据和IL在那个神秘瞬间所贡献的力量吧。www.anytao.com5 元数据和IL在JIT编译时CLR最终执行的只有本地机器码,所以JIT编译的作用是在运行时将IL代码解 阅读全文
posted @ 2013-07-20 12:09 沙耶 编辑
摘要:发布日期:2009.02.25 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前书接上回[第二十四回:认识元数据和IL(上)],我们对PE文件、程序集、托管模块,这些概念与元数据、IL的关系进行了必要的铺垫,同时顺便熟悉了以ILDASM工具进行反编译的基本方法认知,下面是时候来了解什么是元数据,什么是IL这个话题了,我们继续。很早就有说说Metadata(元数据)和IL(中间语言)的想法了,一直在这篇开始才算脚踏实地的对这两个阶级兄弟投去些细关怀,虽然来得没有《第一回:恩怨情仇:is和as》那么迅速,但是Metadata和 阅读全文
posted @ 2013-07-20 11:51 沙耶 编辑
摘要:发布日期:2009.02.24 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前很早就有说说Metadata(元数据)和IL(中间语言)的想法了,一直在这篇开始才算脚踏实地的对这两个阶级兄弟投去些细关怀,虽然来得没有《第一回:恩怨情仇:is和as》那么迅速,但是Metadata和IL却是绝对重量级的内容,值得我们在任何时间关注,本文就是开始。www.anytao.com1 引言你可曾想到,我们的C#代码,编译之后究竟为何物?你可曾认知,我们的可执行程序,运行之时的轨迹究竟为哪般?那么,本文通过对Metadata(元数据)和 阅读全文
posted @ 2013-07-20 11:02 沙耶 编辑
摘要:发布日期:2008.11.2 作者:Anytao© 2008Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前今天Artech兄在《关于Type Initializer和 BeforeFieldInit的问题,看看大家能否给出正确的解释》一文中让我们认识了一个关于类型构造器调用执行的有趣示例,其中也相应提出了一些关于beforefieldinit对于类型构造器调用时机的探讨,对于我们很好的理解类型构造器给出了一个很好的应用实践体验。认识类型构造器,认识beforefieldinit,更深入关注CLR执行机理,品味细节之美。1 引言今天Artech兄在《关 阅读全文
posted @ 2013-07-19 18:50 沙耶 编辑
摘要:发布日期:2008.8.27 作者:Anytao© 2008Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前走钢丝的人,在刺激中体验快感。带着问题思考,在问题上迸发火花。或者给问题以答案,或者给答案以问题,你可能永远无法看清全部,但是总能从一点突破很多。事实的关键就在于面对问题,我该如何思考?String Interning(字符串驻留)就是这样一个值得思考的话题,带着问题思考,我们至少要理清以下几个问题:什么是string?什么是字符串驻留?字符串驻留的运行机制及执行过程?字符串驻留的其他问题?带着几个问号,你必须知道的.NET,继续更多体验。www 阅读全文
posted @ 2013-07-19 18:24 沙耶 编辑
摘要:发布日期:2008.7.31 作者:Anytao© 2008Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前null、nullable、??运算符、null object模式,这些闪亮的概念在你眼前晃动,我们有理由相信“存在即合理”,事实上,null不光合理,而且重要。本文,从null的基本认知开始,逐层了解可空类型、??运算符和null object模式,在循序之旅中了解不一样的null。你必须知道的.NET,继续全新体验,分享更多色彩。www.anytao.com1 从什么是null开始?null,一个值得尊敬的数据标识。一般说来,null表示空类 阅读全文
posted @ 2013-07-19 18:13 沙耶 编辑
摘要:说在,开篇之前本文,源自我回答刚毕业朋友关于.NET学习疑惑的回复邮件。本文,其实早计划在《你必须知道的.NET》写作之初的后记部分,但是因为个中原因未能如愿,算是补上本书的遗憾之一。本文,作为[《你必须知道的.NET》]系列的第20回,预示着这个系列将开始新的征程,算是[你必须知道的.NET]2.0的开始。本文,作为一个非技术篇章,加塞儿到《你必须知道的.NET》队伍中,我想至少因为回答了以下几个必须知道的非技术问题:.NET应该学习什么? .NET应该如何学习? .NET的学习方法?本文,不适合所有的人。开始正文:关于这个问题,也有不少刚刚入行的朋友向我问起。我想可能一千个人就有一千个答案 阅读全文
posted @ 2013-07-19 17:43 沙耶 编辑
摘要:本文将介绍以下内容:对象的创建过程内存分配分析内存布局研究接上回[第十八回:对象创建始末(上)],继续对对象创建话题的讨论>>>2.2托管堆的内存分配机制引用类型的实例分配于托管堆上,而线程栈却是对象生命周期开始的地方。对32位处理器来说,应用程序完成进程初始化后,CLR将在进程的可用地址空间上分配一块保留的地址空间,它是进程(每个进程可使用4GB)中可用地址空间上的一块内存区域,但并不对应于任何物理内存,这块地址空间即是托管堆。托管堆又根据存储信息的不同划分为多个区域,其中最重要的是垃圾回收堆(GC Heap)和加载堆(Loader Heap),GC Heap用于存储对象实 阅读全文
posted @ 2013-07-19 17:17 沙耶 编辑
摘要:本文将介绍以下内容:对象的创建过程内存分配分析内存布局研究1.引言了解.NET的内存管理机制,首先应该从内存分配开始,也就是对象的创建环节。对象的创建,是个复杂的过程,主要包括内存分配和初始化两个环节。例如,对象的创建过程可以表示为:FileStreamfs =newFileStream(@"C:"temp.txt",FileMode.Create);通过new关键字操作,即完成了对FileStream类型对象的创建过程,这一看似简单的操作背后,却经历着相当复杂的过程和周折。本篇全文,正是对这一操作背后过程的详细讨论,从中了解.NET的内存分配是如何实现的?2.内 阅读全文
posted @ 2013-07-19 16:13 沙耶 编辑
摘要:本文将介绍以下内容:什么是覆写,什么是重载覆写与重载的区别覆写与重载在多态特性中的应用1.引言覆写(override)与重载(overload),是成就.NET面向对象多态特性的基本技术之一,两个貌似相似而实则不然的概念,常常带给我们很多的误解,因此有必要以专题来讨论清楚其区别,而更重要的是关注其在多态中的应用。在系列中,我们先后都有关于这一话题的点滴论述,本文以专题的形式再次做以深度讨论,相关的内容请对前文做以参考。2.认识覆写和重载从一个示例开始来认识什么是覆写,什么是重载?abstractclassBase{//定义虚方法publicvirtualvoidMyFunc(){}//参数列表 阅读全文
posted @ 2013-07-19 14:24 沙耶 编辑

点击右上角即可分享
微信分享提示