201501-16 SQL Server调优系列基础篇(子查询运算总结) 前言前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧。其中涵盖:查看执行计划的方式、几种数据集常用的连接方式、联合运算符方式、并行运算符等一系列的我们常见的运算符。有兴趣的童鞋可以点击查看。本篇我们介绍关于子查询语句的一系列内容,子查询一般是我们形成复杂查询的一些基础性操作,所以关于子查询的应用方式就非常重要。废话少说,开始本篇的正题。技术准备数据库版本为SQLSe... 继续阅读 >
201501-16 SQL Server调优系列基础篇(索引运算总结) 前言上几篇文章我们介绍了如何查看查询计划、常用运算符的介绍、并行运算的方式,有兴趣的可以点击查看。本篇将分析在SQLServer中,如何利用先有索引项进行查询性能优化,通过了解这些索引项的应用方式可以指导我们如何建立索引、调整我们的查询语句,达到性能优化的目的。闲言少叙,进入本篇的正题。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。简介所谓的索引应用就是在我... 继续阅读 >
201501-16 SQL Server调优系列进阶篇(查询语句运行几个指标值监测) 前言上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤、筛选条件分析、索引项优化等信息。本篇我们分析在我们运行的过程中几个关键指标值的检测。通过这些指标值来分析语句的运行问题,并且分析其优化方式。通过本篇我们可以学习到调优中经常利用的几个利器!废话少说,开始本篇的正题。技术准备数据库版本为SQLServer2008R2,利用微软的一个更简洁的案例库(Northwind)进行分析。利器一、IO... 继续阅读 >
201501-16 SQL Server调优系列进阶篇(查询优化器的运行方式) 前言:前面我们的几篇文章介绍了一系列关于运算符的基础介绍,以及各个运算符的优化方式和技巧。其中涵盖:查看执行计划的方式、几种数据集常用的连接方式、联合运算符方式、并行运算符等一系列的我们常见的运算符。有兴趣的童鞋可以点击查看。本篇介绍在SQLServer中查询优化器的工作方式,也就是一个好的执行计划的形成,是如何评估出来的,作为该系列的进阶篇。废话少说,开始本篇的正题。技术准备数据库版本为SQLServe... 继续阅读 >
201501-16 SQL Server调优系列基础篇(并行运算总结篇二) 前言上一篇文章我们介绍了查看查询计划的并行运行方式。本篇我们接着分析SQLServer的并行运算。闲言少叙,直接进入本篇的正题。技术准备同前几篇一样,基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。内容文章开始前,我们先来回顾上一篇中介绍的并行运算,来看文章最后介绍的并行运算语句:SELECTB1.[KEY],B1.DATA,B2.DATAFROMBigTableB1JOINBigTable2B2ONB1.[KEY]=B2.[KEY]... 继续阅读 >
201501-16 SQL Server调优系列基础篇(并行运算总结) 前言上三篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符、联合运算符的优化技巧。本篇我们分析SQLServer的并行运算,作为多核计算机盛行的今天,SQLServer也会适时调整自己的查询计划,来适应硬件资源的扩展,充分利用硬件资源,最大限度的提高性能。闲言少叙,直接进入本篇的正题。技术准备同前几篇一样,基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、并行运算符... 继续阅读 >
201501-16 SQL Server调优系列基础篇(联合运算符总结) 前言上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧。废话少说,直接进入本篇的主题。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、联合运算符所谓的联合运算符,其实应用最多的就两种:UNIONALL和UNION。这两个运算符用法很简单,前者是将两个数据集结果合并,后者则是合并后进行去重操作,... 继续阅读 >
201501-16 SQL Server调优系列基础篇(常用运算符总结) 前言上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握。通过本篇可以了解我们平常所写的T-SQL语句,在SQLServer数据库系统中是如何分解执行的,数据结果如何通过各个运算符组织形成的。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、数据连接数据连接是我们在写T-SQL语句的时候最... 继续阅读 >
201501-16 看看你身边的程序员有这8个习惯吗 作为一名软件开发者可以培养很多优秀的能力,比如在思考和解决问题上有很强的逻辑性。但是,它也会给你生活的很多方面带来不好的影响。根据近些年程序员在Stack Exchange和Quora两大论坛上的讨论,我们汇总了因编程带来的8大坏习惯。虽然在有些相似职业的从业人员身上也有这些习惯,像数学家和非软件工程师,但这依然不能减轻人们对这些习惯的厌恶。 0. 在自然语言中也遵循编程时的语... 继续阅读 >
201501-16 SQL Server调优系列基础篇 前言关于SQLServer调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优。通过本篇了解如何阅读和理解查询计划、并且列举一系列最常用的查询执行运算符。技术准备基于SQLServer2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。一、区别不同的运算符在所有T-SQL语句在执行的时候,都会... 继续阅读 >
201501-16 SQL Server调优系列进阶篇(深入剖析统计信息) 前言经过前几篇的分析,其实大体已经初窥到SQLServer统计信息的重要性了,所以本篇就要祭出这个神器了。该篇内容会很长,坐好板凳,瓜子零食之类…不废话,进正题技术准备数据库版本为SQLServer2008R2,利用微软的以前的案例库(Northwind)进行分析,部分内容也会应用微软的另一个案例库AdventureWorks相信了解SQLServer的朋友,对这两个库都不会太陌生。概念理解关于SQLServer中的统计信息,在联机丛书中是这样解释... 继续阅读 >
201501-16 SQL Server调优系列进阶篇(如何索引调优) 前言上一篇我们分析了数据库中的统计信息的作用,我们已经了解了数据库如何通过统计信息来掌控数据库中各个表的内容分布。不清楚的童鞋可以点击参考。作为调优系列的文章,数据库的索引肯定是不能少的了,所以本篇我们就开始分析这块内容,关于索引的基础知识就不打算深入分析了,网上一搜一片片的,本篇更侧重的是一些实战项内容展示,希望通过本篇文章各位看官能在真正的场景中找到合适的解决方法足以。对于索引的使用,我希... 继续阅读 >
201501-16 Android反编译:反编译工具和方法 前言开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它的做法,同时啊,还可以借鉴别人的软件结构,资源文件,等等,哈哈。那我就来讲解一些关于反编译相关的知识,主要分三篇,第一篇介绍反编译的工具和方法,第二篇,介绍smali的语法,第三篇介绍如何防止反编译,主要通过这几篇文章,了解如何去做反编译和代码加固。工具apktoo... 继续阅读 >
201501-16 Android反编译:smali语法 前言前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我们有必要熟悉smali语法。类型的表示java里面包含两种类型,原始类... 继续阅读 >
201501-16 SQL Server调优系列进阶篇(如何维护数据库索引) 前言上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看。本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常维护以及一些注意事项等。闲言少叙,进入本篇的主题。技术准备数据库版本为SQLServer2012,前几篇文章用的是SQLServer2008RT,内容区别不大,利用微软的以前的案例库(Northwind)进行分析,部分内容也会应用微... 继续阅读 >
201501-16 如何在Android Studio项目中导入开源库 前两天,谷歌发布了AndroidStudio1.0的正式版,也有更多的人开始迁移到AndroidStudio进行开发。然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不知道怎么导入到自己的基于AndroidStudio项目中来,微博上也有人私信我,让我来写写,正好今天回来的比较早,就写写吧。主要介绍一下常见的一些导包的场景。前言--project//项目目录|build.gradle//项目的gradle配置文件|settings.gradle/... 继续阅读 >