饭祷爱

The quieter you are,the more you are able to hear

导航

2016年5月29日 #

Gvim插件管理Vundle

正文内容加载中...

posted @ 2016-05-29 10:22 饭祷爱 阅读(4836) 评论(0) 推荐(0) 编辑

2015年12月25日 #

选择排序

摘要: 选择排序几乎就是学习算法时的hello world。选择排序的思想就是将一个数组看成两个部分,一个已排序数组和一个未排序的数组。考虑升序的排序,我们要做的就是从未排序的数组中选择出最小的元素依次放到已排序的数组中。算法的伪代码如下init 0,n//初始化数组loop i in 0 to n-1 /... 阅读全文

posted @ 2015-12-25 00:23 饭祷爱 阅读(169) 评论(0) 推荐(0) 编辑

2014年6月7日 #

SQL server 2005中的锁(1)

摘要: 在之前的一片随笔中,简单的说了一下SQL Server中的隔离级别。而SQL Server的隔离级别是通过锁的机制来实现的。现在深入一下,谈谈SQL Server中的锁。开始之前,先要定义一下前提:1.隔离级别的实现其实就是在不同的资源上加锁。2.对数据库的每一次访问(CRUD)我们称其为一个事务(... 阅读全文

posted @ 2014-06-07 20:32 饭祷爱 阅读(523) 评论(0) 推荐(0) 编辑

2014年4月13日 #

打造一个有感觉的vim(四)

摘要: 今天要介绍的VIM插件的名字叫做surround,这个插件的主要作用是将一个VIM的tex-objects(文本对象)添加或者取消包裹(单引号,双引号,XML标签等等)下载地址如下:https://github.com/tpope/vim-surround安装方式和其他的插件一样,下载对应的压缩包, 阅读全文

posted @ 2014-04-13 19:22 饭祷爱 阅读(568) 评论(0) 推荐(0) 编辑

2014年4月6日 #

Sql Server中不常用的表运算符之UNPIVOT

摘要: 在Sql Server中不常用的表运算符之PIVOT中,介绍了PIVOT表运算符,现在来说说与之相对应的另一个表运算符UNPIVOT。从名字可以看出,这个运算符的作用与PIVOT刚好相反,是将一行的多个列值旋转为多行,每一行是一个原列的值。以Sql Server中不常用的表运算符之PIVOT中最后的表结果为例,来演示一下如何使用UNPIVOT运算符上面这张表中显示了 C001,C002,C003这三个消费者在不同城市不同地区的订单数量,通过下面的查询将C001,C002,C003这三列旋转为行。SELECT * FROM Ptable UNPIVOT( num_orders... 阅读全文

posted @ 2014-04-06 18:25 饭祷爱 阅读(290) 评论(0) 推荐(0) 编辑

Sql Server中不常用的表运算符之PIVOT

摘要: PIVOT是SQL Server2005新添加的一个表运算符,作用在于将行转为列。先来看看他的基本语法:来自http://technet.microsoft.com/zh-cn/library/ms177410(v=sql.105).aspxSELECT , [第一个透视的列] AS , [第二个透视的列] AS , ... [最后一个透视的列] AS ,FROM () AS PIVOT( ()FOR[] IN ( [第一个透视的列], [第二个透视的列], ... [最后一个透视的列])) AS ;看到这一坨,我已经晕了,所以还是用一个实... 阅读全文

posted @ 2014-04-06 15:09 饭祷爱 阅读(1583) 评论(0) 推荐(0) 编辑

2014年3月23日 #

Sql Server中不常用的表运算符之APPLY(2)

摘要: 在Sql Server中不常用的表运算符之APPLY(1)中提到,SQL2005中新支持的APPLY的特性:1.可以直接将表表达式(表值函数或者子查询)作为APPLY语句的右表连接左表。2.由于使用APPLY是总是先计算左表达式表,所以右表表达式可以使用左表表达式中的列。3.APPLY主要用于将表值函数运用在右表表达式中表的每一行。有时也APPLY将一个子查询作为左表表达式。假设我们有以下的两张表order:customer:选出customer C001最近的N个订单可以使用inner joinSELECT TOP (N) CustomName,OrderId,CreateTime F... 阅读全文

posted @ 2014-03-23 19:02 饭祷爱 阅读(386) 评论(0) 推荐(0) 编辑

2014年3月16日 #

Sql Server中不常用的表运算符之APPLY(1)

摘要: 写在这个系列的前面:就像他们的名字一样,作为一个表运算,他们用来运算左表和右表。JOIN也是一个表运算符,不过他太常用了。APPLY:将右表表达式应用在左表的每一行上。APPLY是Sql2005对SQL语句的拓展,这意味着其他类型的数据库可能不支持这个表运算符。微软设计APPLY的初衷在于将表值函数运用在左表的每一行,并将结果与对应行关联起来。网上大多数文章中提到的也是这样的用法,例如我们有一个Split(s,splitChar)表值函数,可以将一个字符串s用splitChar分割,返回分割后的表。现在有这样一张表:dbo.ApplyCase1sswer,23,wer,234wer,wer,2 阅读全文

posted @ 2014-03-16 23:58 饭祷爱 阅读(1066) 评论(0) 推荐(0) 编辑

2014年3月10日 #

Sql Server隔离级别(2)

摘要: Sql Server2005之后,引入了一个新的隔离级别Snapshot(Read Committed Snapshot Isolation (RCSI))和(Snapshot Isolation (SI))在之前的Sql Server隔离级别(1)中提到的四种隔离级别,除了Read Uncommitted之外,其他的三个隔离级别都会阻塞其他事务的执行(写锁会阻塞读锁,读锁也会阻塞写锁)。这样带来的问题是启用这三个隔离级别将会造成性能的损失和并发量的下降,为了提供更好的并发量并且保持一定的数据一致性,Snapshot应运而生。如果启用了Snapshot隔离,数据库会为提交的数据建立一个版本信息 阅读全文

posted @ 2014-03-10 00:31 饭祷爱 阅读(393) 评论(0) 推荐(0) 编辑

2014年3月2日 #

Sql Server隔离级别(1)

摘要: 数据库是一个并发操作的环境,就像多线程一样,这样在高并发的情况下回出现一些问题。假设我们有一张表Account,表结构和数据如下所示AccountNameBalancejo100fo200假设我们有两个事事务(T1,T2)脏读:当一个事务允许读取另外一个事务修改但未提交的数据时,就可能发生脏读(dirty reads)。(1)T1更新jo的余额:UPDATE Account SET Balance=500 WHERE AccountName='jo'(2)T2选出jo的余额:SELECT Balance FROM Account WHERE AccountName='j 阅读全文

posted @ 2014-03-02 19:18 饭祷爱 阅读(800) 评论(0) 推荐(0) 编辑