05 2012 档案
摘要:小小程序猿SQL Server认知的成长
1.没毕业或工作没多久,只知道有数据库、SQL这么个东东,浑然分不清SQL和Sql Server Oracle、MySql的关系,通常认为SQL就是SQL Server
2.工作好几年了,也写过不少SQl,却浑然不知道索引为何物,只知道数据库有索引这么个东西,分不清聚集索引和非聚集索引,只知道查询慢了建个索引查询就快了,到头来索引也建了不少,查询也确实快了,偶然问之:汝建之索引为何类型?答曰:。。。
3.终于受到刺激开始奋发图强,买书,gg查资料终于知道原来索引分为聚集索引和非聚集索引,顿时泪流满面,呜呼哀哉,吾终知索引为何物也。
4.再进一步学习之亦知聚集索引为物理索引、非聚集索引为逻辑索引,聚集索引为数据的存储顺序,非聚集索引是逻辑索引既对聚集索引的索引
5.再往后学会了查看执行计划,通过查询计划终于对查询过程有了大概了解,也知道了聚集索引扫描和表扫描没有用到索引,看到聚集索引、索引查找高兴的眉飞色舞,看到RID、键查找暗自窃喜,瞧,键查找肯定就是关键字查找了,用着索引呢,效率肯定高,于是每次写完sql都要观看
阅读全文
摘要:最后更新:2012-07-19SQL Server 系列浅析Sql Server参数化查询(推荐)Sql Server参数化查询之where in和like实现详解Sql Server参数化查询之where in和like实现之xml和DataTable传参Sql Server表结构及索引查询器Sql Server查询性能优化之走出索引的误区(推荐)Sql Server查询性能优化之不可小觑的书签查找Sql Server查询性能优化之创建合理的索引(上篇)Sql Server查询性能优化之创建合理的索引(下篇)NuGet系列NuGet学习笔记(1) 初识NuGet及快速安装使用NuGet学习笔
阅读全文
摘要:据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会、也什么没有必要去关心、了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是,或者干脆把整个查询SQL直接发给DBA,让DBA直接帮忙优化了,所以造成的状况就是开发人员对于索引的理解、认识很局限,以下就把我个人对于索引的理解及浅薄认识和大家分享下,希望能解除一些大家的疑惑,一起走出索引的误区
误区1.在表上建立了索引,在查询时用到了索引的列,索引就一定会生效
首先明确下这样的观点是错误的,SQL Server查询优化器是基于开销进行选择的优化器,通过一系列复杂判断来决定是否使用索引、使用什么类型索引、使用那个索引。SQL Server内部维护着索引列上的数据的统计,统计信息会随着索引列内容的变化而变化,索引的有效期完全取决于索引列上的统计信息,随着数据的变化关于索引的检索机制也随之变化。对于查询优化器来说始终保持查询开销最低始终是其的不二选择,如果一个非聚集索引的列上有大量的重复值,那么这个索引就不会有什么存在的意义,这也是为什么不建议在类似性别,
阅读全文
摘要:因经常需要处理大数量的表,因此查看表结构、数据量、以及索引情况基本上成为了常态,无奈生产环境的数据库不让我们直接访问,因此想要了解到生产环境的数据库的表结构和索引信息变得很麻烦需要经常找DBA帮忙找,而想查看具体某个表的数据量使用 select count(1) from table方法的效率实在慢的无法忍受,正所谓求人不如求己,花了点时间自己做了个查看数据库表结构和索引的小工具顺便温习了下系统表一举两得,喜欢的朋友可以拿去用用。
工具功能很简单但胜在实用(尤其是不让开发人员用企业管理连接生产环境数据库时,简直是一大杀器),可以提高不少效率
1.根据链接字符串列出服务器上所有的数据库以及表。
2.查看表的记录数、字段及索引(包含覆盖索引)信息。
默认界面如下
阅读全文
摘要:在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重要的一步,从零开始搭建属于自己的NuGet服务器,诚然园子里及其它很多地方已经有完全写好的NuGet服务源码,我们只需要拿来发布一下就ok了,运行也很正常,但作为一名合格的程序猿,不建议这种拿来主义尤其时你自己可以搞定的时候,用别人写好的东西总有些心里不踏实,当有一天它出问题了你的悲剧就开始了,下面进入我们今天的主题
创建NuGetServer Web站点
1.新建Web站点,选择 文件-->新建项目-->Asp.Net 空 Web应用程序
阅读全文
摘要:上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新。在安装好NuGet扩展后,我们已经能够通过NuGet轻松下载自己需要的类库,下面来说一说如何将自己的项目类库进行打包发布
使用图形界面打包自己的类库
NuGet可以使用NuGet.exe在命令行下进行类库打包,也可以使用图形化界面进行打包,估计很多朋友都和我一样对不熟悉的命令行有些感冒,所以在此仅讲述下使用图形化界面进行类库打包
1.首先下载 包包管理器 NuGetPackageExplorer,顾名思义,包包管理器可以用来创建新的类库包,也可以浏览已经创建好的类库包
2.下载完成后,双击 NuGetPackageExplorer.application 进行安装,安装完成后会在桌面上生成一个NuGet Package Explorer 的快捷方式
阅读全文