2012年2月16日
摘要: 大凡在应用系统和数据库系统中行走江湖多年的朋友,都会面临数据统计、分析以及归档的问题,企业信息化进程加速了各种数据的极具增长,商务智能(BI)的出现和实施着实给信息工作者和决策者带来了绝妙的体验,但从 OLTP 向 OLAP 系统加载数据是很头疼的事,常常需要数分钟或数小时,解 决这一问题的技术之一便是分区表,一旦实施了分区表,这样的操作往往只需几秒钟,太让人兴奋了。而大型表或索引经过分区后更容易进行管理,因为这样可以快 速高效地管理和访问数据子集,同时维护数据集合的完整性。分区表的数据分布于一个数据库中的多个文件组单元中,数据是按水平方式分区的(数据分区的多种方 式会在分区表前传中阐述),因 阅读全文
posted @ 2012-02-16 22:22 dongpo 阅读(9142) 评论(1) 推荐(4) 编辑
2012年1月7日
摘要: 写在前面写这篇文章的起因是今天在12306上买火车票时,被这牛逼的网站给震撼到了,靠,牛叉得让人无语的用户体验啊。就讲讲我是如何利用一个小工具做辅助,幸运地抢到了回家的卧铺票的。希望能给有需要的兄弟们做个参考。如果博客园的管理员觉得这和技术无关,请移出首页好了。 回顾下我今天网上购票的全过程,总结起来有四个难关,第一是登陆,第二是预定,第三是提交订单,第四是支付。本文的目的主要是为了在第一和第二关提供一些帮助。准备工作:电报码查询:http://wenku.baidu.com/view/6ef22f868762caaedd33d47e.html1,firefox浏览器2,油猴脚本扩展Greas 阅读全文
posted @ 2012-01-07 00:00 dongpo 阅读(1530) 评论(3) 推荐(0) 编辑
2011年12月30日
摘要: 对象①锁:每条SQL语句②隔离:事务锁①并发问题丢失更新未确认的读取(脏读)不一致的分析(非重复读):多次读取相同的数据(行)不一致(其他用户更改update)幻像读:多次读取有不存在和新增的数据(其他用户插入insert或删除delete)隔离级别隔离级别脏读不可重复读取幻像说明未提交读(read uncommitted)是是是如果其他事务更新,不管是否提交,立即执行提交读(read committed默认)否是是读取提交过的数据。如果其他事务更新没提交,则等待可重复读(repeatable read)否否是查询期间,不允许其他事务update可串行读(serializable)否否否查询期 阅读全文
posted @ 2011-12-30 00:38 dongpo 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量。所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话事务想要读取或修改的资源,造成这些会话发出的请求进入等待的状态。SQL Server 默认会让被阻塞的请求无限期地一直等待, 直到原来的事务释放相关的锁,或直到它超时 (根据 SET LOCK_TIMEOUT,本文后续会提到)、服务器关闭、进程被杀死。一般的系统中,偶尔有短时间的阻塞是正常且合理的;但若设计不良的程序,就可能导 致长时间的阻塞,这样就不必要地锁 阅读全文
posted @ 2011-12-30 00:17 dongpo 阅读(195) 评论(0) 推荐(0) 编辑
2011年12月2日
摘要: 微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)…… (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻... 阅读全文
posted @ 2011-12-02 13:08 dongpo 阅读(162) 评论(0) 推荐(0) 编辑
2011年11月29日
摘要: 在查询语句中使用 NOLOCK 和 READPAST处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点:对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍出现或者不出现某些记录,而不是寻求对双方都加锁条件下如何解锁的问题。NOLOCK 和 READPAST 都是处理查询、插入、删除等操作时候,如何应对锁住的数据记录。但是这时候一定要注意NOLOCK 和 READPAST的局限性,确认你的业务逻辑可以容忍这些记录的 阅读全文
posted @ 2011-11-29 12:29 dongpo 阅读(273) 评论(0) 推荐(0) 编辑
2011年11月18日
摘要: 一、目的在做SQL Server数据库维护的时候,当上司要求我们把几十G的数据文件搬动到其它服务器,并且要求最小宕机时间的时候,我们有没什么方案可以做到这些要求呢?在这里我们假设这两台机器并不是在一个机房上,这样看起来我们的解决方案才更有意义,如果你那么好运这两台机器在同一个局域网,那么恭喜你,你可以多很多的方案可以做到。二、分析与设计思路其实我们假设的环境有两个特点:第一个是数据库文件比较大;第二个就是我们的传送文件的速度可能会比较慢。也许这传送速度我们是没有办法了,但是我们可以就从文件的大小这个问题出发,结合SQL Server的特性,这样就有了下面的解决方案了。为了使宕机时间最短,我们这 阅读全文
posted @ 2011-11-18 16:05 dongpo 阅读(212) 评论(1) 推荐(0) 编辑
2011年9月17日
摘要: java环境不是天天配,而每次配环境都要去问问搜索引擎,今天把它记录下来,以后就不用费时间找了一.下载JDK1.登录Sun的JDK官方下载网址:http://java.sun.com/javase/downloads/index.jsp2.下载jdk-1_5_0_07-linux-i586-rpm.bin文件二.安装JDK1.增加jdk-1_5_0_07-linux-i586-rpm.bin文件的可执行权限#root> chmod 755 jdk-1_5_0_07-linux-i586-rpm.bin2.执行jdk-1_5_0_07-linux-i586-rpm.bin#root> 阅读全文
posted @ 2011-09-17 23:09 dongpo 阅读(219) 评论(0) 推荐(0) 编辑
2011年7月13日
摘要: <1>.在了解位移之前,先了解一下正数和负数的二进制表示形式以及关系:举例15和-15:15 的原码: 00000000 00000000 00000000 00001111 补码: 11111111 11111111 11111111 11110000 +1 = -15的原码:11111111 11111111 11111111 11110001负数的原码即为:正数的原码取反,再加1。<2>位移操作:(只针对 int类型的数据有效,java中,一个int的长度始终是32位,也就是4个字节,它操作的都是该整数的二进制数).也可以作用于以下类型,即 byte,short, 阅读全文
posted @ 2011-07-13 10:37 dongpo 阅读(30184) 评论(1) 推荐(0) 编辑
摘要: CREATE FUNCTION [dbo].[BitMove](@long bigint,@operator varchar(3),@len int) RETURNS bigint AS BEGIN if @len=0 return @long declare @i bigint declare @j bigint set @i=cast(0x8000000000000000 as bigint) set @j=cast(0x4000000000000000 as bigint) if @operator='<<' begin while @len>0 beg 阅读全文
posted @ 2011-07-13 10:36 dongpo 阅读(594) 评论(0) 推荐(0) 编辑