程序设计
文章平均质量分 94
發糞塗牆
MVP, TOGAF, MCSE, Azure Solution Architect
展开
-
行转列或列转行写法
两种方式:/* 实现行转列aname objec scorea EN 89a CH 78a HO 99b EN 34b CH 88b HO 66要求输出结果为:name EN CH HOa 89 78 99b 34 88 66*/USE tempdbIF (SELECT 1 FROM sys.sysobjects WHERE nam原创 2012-05-03 11:40:55 · 6840 阅读 · 2 评论 -
T-SQL动态查询(1)——简介
起因: 由于最近工作需要及过去一直的疑问,所以决定着手研究一下动态SQL。由于离开一线开发有点年头了,很多技巧性的东西没有过多研究,作为DBA和《SQL Server性能优化与管理的艺术》一书的独立作者,更多的是关注在满足功能要求前提下的性能问题。但是我认为本文不仅对DBA有用,对数据库开发人员甚至设计师、架构师等都有一定的参考价值。 前言: 读者是否遇到过类似功能:一个应用程序(不管是B/S还是原创 2015-11-19 16:27:58 · 10687 阅读 · 2 评论 -
T-SQL动态查询(2)——关键字查询
接上文:T-SQL动态查询(1)——简介 前言: 在开发功能的过程中,我们常常会遇到类似以下情景:应用程序有一个查询功能,允许用户在很多查询条件中选择所需条件。这个也是本系列的关注点。 但是有时候你也许会发现,有些条件或多或少是互相排斥的。比如用户通过下面其中一个条件查找信息:1. 客户名2. 客户ID3. 客户身份标识号(如国内身份证、美国社保号等)。 并且这三列上都有适当的索引。本系列主原创 2015-11-19 16:39:43 · 5772 阅读 · 2 评论 -
T-SQL动态查询(4)——动态SQL
接上文:T-SQL动态查询(3)——静态SQL 前言: 前面说了很多关于动态查询的内容,本文将介绍使用动态SQL解决动态查询的一些方法。 为什么使用动态SQL: 在很多项目中,动态SQL被广泛使用甚至滥用,很多时候,动态SQL又确实是解决很多需求的首选方法。但是如果不合理地使用,会导致性能问题及无法维护。动态SQL尤其自己的优缺点,是否使用需要进行评估分析:动态SQL优点:动态SQL提供了强大的扩原创 2015-12-09 09:38:17 · 13245 阅读 · 2 评论 -
T-SQL动态查询(3)——静态SQL
接上文:T-SQL动态查询(2)——关键字查询 本文讲述关于静态SQL的一些知识和基础技巧。简介: 什么是静态SQL?静态SQL是和动态SQL相对而言的,其实我们没必要过于纠结精确定义,只要大概知道什么算静态SQL即可。当一个语句特别是存储过程,语句不需要动态生成或拼接,除了参数之外我们都知道语句的最终形态时,就可以认为这是静态SQL,简单来说,我们大部分的处理动态查询条件的语句都属于静态SQ原创 2015-11-26 16:01:48 · 6845 阅读 · 0 评论 -
你是否也忘了刷新视图?
起因: 由于工作原因,我隔几天就要执行一批开发人员提供过来的脚本,部分是新需求的开发,部分是修复bug。往往包含有几百个。我用工具批量执行之后,系统继续运行,后来反反复复会有这样那样的错误,其中一个,经过开发人员的检查,是因为视图没刷新。 对此我纳闷了很久,视图不就是一堆select语句吗?怎么还要刷新?难道表改了不会跟着改?为此,我首先自己做一个实验,发现原创 2012-12-24 22:41:03 · 17599 阅读 · 21 评论 -
SQL Server 日期相关
对于开发人员来说,日期处理或许简单,或许很难。结合自己过往的开发经验并整合网上的例子,总结出一些日期相关的操作,供自己备用及为大家分享: 一、日期类型:对于SQL Server 2008 来说(因为2000甚至2005已经稍微有被淘汰的迹象,所以在此不作过多说明,加上自己工作使用的是2008R2。所以不保证08以前的能用),日期类型有:数据类型格式范围精确度存储大小(以字节为单位)用户定义的秒的小原创 2012-06-13 01:25:16 · 27238 阅读 · 13 评论 -
使用SQLCMD在SQLServer执行多个脚本
概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序,如我现在工作的公司,十几个客户,每个客户一个库,但是数据库结构、存储过程、视图等都是一模一样,每次执行脚本(以下称为升级),如果有一百个脚本,那么就要按顺序执行过千次,这种工作量可不是一个人能承受得了的。原创 2012-12-20 17:33:39 · 42334 阅读 · 2 评论 -
SQL Server 2008性能故障排查(二)——CPU
承接上一篇:SQL Server 2008性能故障排查(一)——概论说明一下,CSDN的博客编辑非常不人性化,我在word里面都排好了版,贴上来就乱得不成样了。建议CSDN改进这部分。也请大家关注内容不要关注排版。同时在翻译的过程中本人也整理了一次思路,所以还似乎非常愿意翻译,虽然有点自娱自乐,但是分享给大家也是件好事CPU 瓶颈:CPU瓶颈可能因为某个负载所需的硬件资源不足而引起。但翻译 2012-07-11 23:33:49 · 18807 阅读 · 2 评论 -
阻塞与死锁(三)——死锁的定位及解决方法
死锁所在的资源和检测:在SQL Server的两个或多个任务中,如果某个任务锁定了其他任务试图锁定的资源。会造成这些任务的永久阻塞,从而出现死锁。下图为例:l 事务T1获得了行R1的共享锁。l 事务T2获得了行R2的共享锁。l 然后事务T1请求行R2的排它锁,但是T2完成并释放其对R2的共享锁之前被阻塞。l T2请求行R1的排它锁,但是事务T1完成并释放其对R1持有原创 2012-05-21 13:13:16 · 6328 阅读 · 0 评论 -
Python 之禅
还有很多不会翻译,或者翻译错误,请大家懂得的指正一下,谢谢Beautiful is better than ugly.魅力比丑陋更好Explicit is better than implicit.显式比隐式更好Simple is better than complex.简单比复杂更好Flat is better than nested.平滑比嵌套更好Spa翻译 2012-06-04 13:20:03 · 1795 阅读 · 2 评论 -
配置服务器来调整性能(一)——概论
首先:要了解的是,在系统的生命周期中,服务器和程序都必须不断地调整以满足系统变更所带来的影响。其次:要获得最佳性能,应从配置服务器开始,然后设计高效的架构并指定优化SQL ,最后通过监控和分析性能循环改进配置。过程如下图:开发人员需要知道的性能有关知识:对于数据库,基础就是“架构”1用户需要了解有多少用户、多少并发用户、用户权限等2S原创 2012-05-07 14:43:57 · 2757 阅读 · 0 评论