2015
01-16
01-16
SQL Server调优系列基础篇(联合运算符总结)
前言上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧。废话少说,直接进入本篇的主题。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、联合运算符所谓的联合运算符,其实应用最多的就两种:UNIONALL和UNION。这两个运算符用法很简单,前者是将两个数据集结果合并,后者则是合并后进行去重操作,...
继续阅读 >
前言上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握。通过本篇可以了解我们平常所写的T-SQL语句,在SQLServer数据库系统中是如何分解执行的,数据结果如何通过各个运算符组织形成的。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、数据连接数据连接是我们在写T-SQL语句的时候最...
前言关于SQLServer调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优。通过本篇了解如何阅读和理解查询计划、并且列举一系列最常用的查询执行运算符。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、区别不同的运算符在所有T-SQL语句在执行的时候,都会...
前言经过前几篇的分析,其实大体已经初窥到SQLServer统计信息的重要性了,所以本篇就要祭出这个神器了。该篇内容会很长,坐好板凳,瓜子零食之类…不废话,进正题技术准备数据库版本为SQLServer2008R2,利用微软的以前的案例库(Northwind)进行分析,部分内容也会应用微软的另一个案例库AdventureWorks相信了解SQLServer的朋友,对这两个库都不会太陌生。概念理解关于SQLServer中的统计信息,在联机丛书中是这样解释...
前言上一篇我们分析了数据库中的统计信息的作用,我们已经了解了数据库如何通过统计信息来掌控数据库中各个表的内容分布。不清楚的童鞋可以点击参考。作为调优系列的文章,数据库的索引肯定是不能少的了,所以本篇我们就开始分析这块内容,关于索引的基础知识就不打算深入分析了,网上一搜一片片的,本篇更侧重的是一些实战项内容展示,希望通过本篇文章各位看官能在真正的场景中找到合适的解决方法足以。对于索引的使用,我希...
前言开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它的做法,同时啊,还可以借鉴别人的软件结构,资源文件,等等,哈哈。那我就来讲解一些关于反编译相关的知识,主要分三篇,第一篇介绍反编译的工具和方法,第二篇,介绍smali的语法,第三篇介绍如何防止反编译,主要通过这几篇文章,了解如何去做反编译和代码加固。工具apktoo...
前言上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看。本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常维护以及一些注意事项等。闲言少叙,进入本篇的主题。技术准备数据库版本为SQLServer2012,前几篇文章用的是SQLServer2008RT,内容区别不大,利用微软的以前的案例库(Northwind)进行分析,部分内容也会应用微...
试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeansIDE,我们会把重点放在运行时上面。在开始之前,推荐大家去看看Eclipseshortcuts这篇文章,它将会给你带来很多方便。在本文中使用的是EclipseJuno版(Eclipse4.2),在开始前给大家提3点建议!不要使用System.out.println作为调试工具把所有涉及到的组件日志...
一个Hive查询生成多个MapReduceJob,一个MapReduceJob又有Map,Reduce,Spill,Shuffle,Sort等多个阶段,所以针对Hive查询的优化可以大致分为针对MR中单个步骤的优化(其中又会有细分),针对MR全局的优化,和针对整个查询(多MRJob)的优化,下文会分别阐述。在开始之前,先把MR的流程图帖出来(摘自Hadoop权威指南),方便后面对照。另外要说明的是,这个优化只是针对Hive0.9版本,而不是后来Hortonwork发起Stinger项目...
写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系统如期上线,刚开始运行一切良好,后来随着数据量的急剧膨胀,慢慢出现了很多莫名其妙的问题,经过调试,修改了数据库中几个存储过程的一些问题。有意思的是,有一个存储过程里,为了实现一个小的功能,写了好多好多的代码,又是游标又是循环的,其实用系统的一个默认函数就能解决掉。这里想说的是,学习工作之余,在没有要解...
2014年已经过去,现在正是盘点2014年Linux大事件的时候。整整一年,我们关注了有关Linux和开源的一些好事,坏事和丑事。让我们来快速回顾一下2014对于Linux是怎样的一年。好事首先,让我们来看看在2014年对于Linux爱好者发生了什么有积极意义的事。Linux上的Netflix从使用Wine到使用Chrome的测试功能,为了能让Netflix能在Linux上工作,Linux用户曾尝试了各种方法。好消息是Netflix终于在2014年带来了Linux的本地支持。这让...