摘要:
本文想解决园子里大家都关心的Ibatis.Net分页的实现问题。其实我也找了Ibatis.Net分页的解决方案,园子里有一些,奈何没有发现我想要的方式,大都的策略是调用两次SQL Statement,第一次,根据条件查询总记录条数,第二次,根据条件查询从第N行到M行的数据集合,不是这种不能满足条件,恰恰相反,这种写法,完全可以满足现有项目的需求,也很具备SQL调优空间,但有个的弊端,是通过一个查询写几遍。很难复用。感觉很是别扭,我看过在查询较多的系统里,到处充斥这分页的SQL语句,另外一点,本来我们码农们只要关心实现获取业务数据就行了,每次在实现功能的基础上,还要再加上分页的SQL语句,使.. 阅读全文
摘要:
概述Ø 性能优化的思路首先是较为精准的定位问题,借助于相应的工具包,分析系统性能瓶颈在哪,在根据其性能指标,以及所处于层级决定选择优化的方式方法。在选择优化的方式方法时,大家可以参照以下章节调优方法,架构优化递进,进行正确的,有针对性,有步骤的优化。可能会发现部分指导思想或许有相悖嫌疑,大可不必较真,系统优化的过程本身就是一个不断分离+共享的组合拳,至于具体选择哪种优化方式,根据具体需求来定,但大... 阅读全文
摘要:
目前我们有很多开发项目中都存在这样那样的问题,主要表现是开发混乱,耦合性高,开发人员开发还比较随意,没有设计,代码想到哪,写到哪,有点类似骑驴找马的编码方式,造成了我们系统的复杂度,以及混乱性,是系统衍生了很多缺陷,也给系统的稳定性,以及性能带来了较大影响,很多项目在结项后很长一段时间里,仍然在不停的修复,优化,重新部署。其实很多看似短平快的项目,到最后花费了更大的气力在维持。 开发管理人员一直... 阅读全文
摘要:
前几天看了一些IT产品和以及telepresence等概念,发散下思维。想的未来可能存在的产品,欢迎拍砖,呵呵1、会煮饭的冰箱:将冰箱里的物品,在根据食谱做一份香喷喷的美食哦,介个我喜欢,哈哈2、会保洁的机器人:哈,不仅清扫吸尘啊,包括,擦玻璃,洗马桶,杂物垃圾收集,至于洗碗,还是算了吧 3、会体检和按摩的机器人:这个不用多说了,量血压,体温,血常规,尿检,以及医院远程遥控检查,或者获取资料,至于胸透,和B超我估计可能会被禁掉啊 4、会管理衣物机器人:很适合慵懒的IT人士哦,是将主人的衣物,根据冷暖,性别,年龄,部位等分类整理,放到对应的衣柜里,并且每天定时捡起主人衣物,根据判定,进行清洗,或 阅读全文
摘要:
我的生活是一杯茶,半支烟,闻茶香飘渺,看青烟索绕 我的生活是闲暇之余在河边钓钓鱼,在公园里遛遛狗,在田野里捉捉蚂蚱,我的生活是我破旧的电动车,悠然于树林里,池塘边的小路上,倾听百鸟歌唱,蛙声一片我的生活是屋后的竹园,曲径通幽我的生活是老家的稻场,看麻雀在偷食我的生活是河边的桃林,桃花正在吐露芬芳我的生活是在我的香槟小镇,品味春夏秋冬我的生活是看庭前花开花落!任天上云舒云卷!我的生活远离喧闹尘嚣,拥有安静闲适我的生活是每天早晨,冲一个澡,享受干净清爽的每一天我的生活是暖洋洋的午后,和家人一起嗑瓜子,相互剪指甲,挖挖耳朵我的生活是和父母,爱人,孩子共享天伦之乐,不问天下世事我的生活不需要刻意的着装 阅读全文
摘要:
组件描述 让流程配置不在繁琐死板,UI界面效果极炫,设计流程图(工作流)就像使用Office Visio,所见即所得,让您以及您的客户眼前为之一亮,要想看到在线DEMO,下载Siverlight 3以上的插件,即可在本页浏览操作,由于本设计器推荐方式是全屏展现,可能内嵌在博客园页面效果不是特别好,不过可以看到大体功能啦,多点点,有意外惊喜哦 已有特性 支持图形化显示流程 支持图形化拖拽创建和修改流... 阅读全文
摘要:
看全部表的空间大小 我常用sp_spaceused来查看表所占的空间大小,可是一次只能看一个对象的。 今天有空写了个sp_spaceused2,可以同时看全部表的空间大小。 use master go EXEC sp_addmessage @msgnum = 55000, @severity = 16, @msgtext = N'Objects of type %s do not have sp... 阅读全文
摘要:
先说说这些误区。所谓“误区”,有一些是新手很容易犯的错误或者很容易忽略的问题,另外一些,则是像“耗子吃了盐会变成蝙蝠”一样,让我们从小就认为是正确的事情。如下:表上不管用得着用不着,都加个聚集索引。我们知道,表以两种方式组织物理存储:有聚集索引的“聚集表”;没有聚集索引的“堆”。在聚集表中,数据行按照聚集索引的顺序存储(这也是为啥一张表最多只能有一个聚集索引的原因);堆中,数据行的存储可以认为是不确定的。在偶《写有效率的SQL查询(II)》中曾经介绍过DB引擎如何在聚集表中通过非聚集索引查找目标数据:从非聚集索引树根开始seek,查找到目标索引行,然后通过索引行上存储的聚集索引键值,爬聚集索引 阅读全文
摘要:
上回我们说到评估一条语句执行效率主要看逻辑IO(啥是逻辑IO,啥是物理IO见联机文档),这次我们继续。我们先说说,返回多行结果时,为什么SQLServer有时会选择index seek,有时会选择index scan。以nonclustered index为例说明。像所有的索引B树一样,非聚集索引树也包括完全由索引数据组成的根节点和中间级节点;但是和聚集索引树不同的是,聚集索引树叶节点包含的是基础表的数据页(我们常说,表的物理存储顺序和聚集索引相同,就是这个原因),非聚集索引树叶节点是索引页。SQLServer通过非聚集索引查找数据时,会通过这个非聚集索引键值去搜索聚集索引,进而检索基础表数据 阅读全文
摘要:
大型系统的生产环境,一般情况下,我们评价一条查询是否有效率,更多的是关注逻辑IO(至于为什么,回头补一篇)。我们常说,“要建彪悍的索引”、“要写高效的SQL”,其实最终目的就是在相同结果集情况下,尽可能减少逻辑IO。where条件的列上都得有统计信息。没统计信息SQLServer就无法估算不同查询计划开销优劣,而只能采用最稳妥的Scan(不管是table scan还是clustered index scan)。一般情况下我们不会犯这种错误——where条件里不使用非索引列是个常识。索引上的统计信息是无法删除的。尽量不使用不等于(!=)或者NOT逻辑运算符。这条规则被广为传颂,原因据联机文档和百 阅读全文
摘要:
目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器;开放系统的存储分为:内置存储和外挂存储;开放系统的外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称DAS)和网络化存储(Fabric-Attache... 阅读全文
摘要:
这篇文章是有点迟了,最近我的课堂上要引用这篇博文——所以我想不得不写了。本文是我以前的一篇关于存储引擎文章 的升级版本,本文中将加入DIFF 和ML 映射页的解释。 在以前的这系列博文中,我已解释了数据库文件中的一些基本存储: • Anatomy of a record • Anatomy of a page • Anatomy of an extent • IAM pages, IAM chai... 阅读全文
摘要:
1、SQL Server2000中的IAM链 IAM(Index Allocation Map,索引分配映射)页用来跟踪单个文件中约4G大小的空间,跟踪的空间是按4G字节对齐。被跟踪的这4G大小的页被称为“GAM区间”(GAM Interval)。IAM页所跟踪的GAM区间中的空间是属于同一实体的(这里,我选择的是“实体”而没有使用SQL Server中的“对象”)。下面我们将了解IAM页的结构。... 阅读全文
摘要:
前面的文章我介绍了数据文件中的页,包括页结构和一些页类型。现在我想解释一下页是如何组织成区( extent )的。一个区是由数据文件中 8 个连续的页组成。区从数据文件头部开始,并且总是 64K 对齐(即: 8 页对齐)。区及其属性在 SQL SERVER 2000 和 2005 中是一模一样的。 SQL SERVER 中有两种类型的区:混合区和统一区。 混合区 分配给任意一条 IAM 链( SQ... 阅读全文
摘要:
继续存储引擎揭秘系列,今天讨论页结构。页是用来存储记录的。一个页是数据库文件中的一个 8192 字节段。页在数据文件中开始于 0 字节,并按 8192 字节对齐。下面是一个页的基本结构图: 页头部 页头部大小为 96 字节。在这部分我最想做的事是使用 DBCC PAGE 来看一个页头部,然后解释一下所有的字段含义。我使用以前《 page split 》文章用的数据库,下面是 DBBC PAGE 部... 阅读全文
摘要:
最后编辑:2010-10-21 原文地址: http://www.sqlskills.com/BLOGS/PAUL/post/Inside-the-Storage-Engine-Anatomy-of-a-record.aspx 本周我将发表一系列 SQL SERVER 中用来存储数据和跟踪分配的基本结构。大部分文章其实当初我在 TechEd2006 上开博时便发表过,但是现在我想更清晰地描述它,并... 阅读全文
摘要:
发布日期 : 1/13/2005 | 更新日期 : 1/13/2005 Jason Clark 下载本文的代码: NET0307.exe (133KB) 我在自己最近的编程中注意到一个趋势,正是这个趋势才引出本月的专栏主题。最近,我在基于 Microsoft® .NET Framework 的应用程序中完成了大量的 Win32® Interop。我并不是要说我的应用程序充满了自定义的 intero... 阅读全文
摘要:
工作原理借用ffmpeg,mencoder两种工具,再其进程启动时加上相应的参数由于是跨越进程调用,而且mencoder进程同时间只能启动一个,所以采用消息队列来实现其异步调用,处理完在一个,再找消息队列再要一个支持绝大多数格式文件转为flv:"asf", "avi", "mpg", "3gp", "mov","wmv", "rm", "rmvb"支持消息队列方式异步转换支持生成缩略图片支持自定义格式大小由于mencoder文件夹较大, 阅读全文