摘要: 前段时间看了一篇关于算法的blog,地址如下: http://www.cnblogs.com/perfectdesign/archive/2008/04/24/sql_tuning.html 不少人也给了解决方法,以前也研究过(嵌套,合并,hash)算法,但没有真正的用到优化中,这个例子给了我很大启 阅读全文
posted @ 2008-08-10 17:20 zping 阅读(6891) 评论(6) 推荐(0) 编辑
摘要: 最近公司同事碰到需求,实现一个功能,想用一个sq语句实现,他让我看看如何实现sql。由于前期做培训时说到尽量减少和数据库的交互,能一条sql取出来就不用两次sql语句: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATE TABLE... 阅读全文
posted @ 2008-08-06 21:15 zping 阅读(2435) 评论(0) 推荐(0) 编辑
摘要: 当我一个运行很长的事务,在事务提交以完后,突然断电了,这时长事务里肯定有没有处理的语句,面对这样情况,一部分已经处理完了,一部还没来得及处理的情况,SQL Server 2005 数据库是如何保证事务的持久性和一致性? 以上的情况,查一般的SQL Server 2005资料是很难有答案的,这段时间在学Oracle时,了解了其事务是如何保证事务的acid ,后来在SQL Server ... 阅读全文
posted @ 2008-08-06 19:18 zping 阅读(2525) 评论(8) 推荐(0) 编辑
摘要: 前段时间在 http://www.itput.net/ 看到 一篇文章, http://www.itpub.net/thread-1031306-1-4.html 提到一个SQL语句: 建立环境: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.c... 阅读全文
posted @ 2008-08-06 14:03 zping 阅读(3666) 评论(0) 推荐(0) 编辑
摘要: 避免 LEFT JOIN 和 NULL 当然,有很多时候您需要执行 LEFT JOIN 和使用 NULL 值。但是,它们并不适用于所有情况。改变 SQL 查询的构建方式可能会产生将一个花几分钟运行的报告缩短到只花几秒钟这样的天壤之别的效果。有时,必须在查询中调整数据的形态,使之适应应用程序所要求的显示方式。虽然 TABLE 数据类型会减少大量占用资源的情况,但在查询中... 阅读全文
posted @ 2008-08-05 21:19 zping 阅读(8449) 评论(0) 推荐(2) 编辑
摘要: SQL优化--使用关联查询代替子查询 测试例子: 子查询: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select a.*, (select workflowname from workflowbase where i... 阅读全文
posted @ 2008-08-05 21:05 zping 阅读(10617) 评论(2) 推荐(0) 编辑
摘要: 在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写sql语句时通常会遇到如下语句: 两个表连接时,取一个表的数据,一般的写法通过关联查询(inner j 阅读全文
posted @ 2008-08-05 20:52 zping 阅读(32485) 评论(36) 推荐(0) 编辑
摘要: 原创:胖子刘(转载请注明作者和出处,谢谢) (二)自联结模式 自联结模式,也可以看作是“主从模式”的一种特殊情况(或者说是“变形”),它在一张表内实现了“一对多关系”,并且可以根据业务需要实现“有限层”或者“无限层”的主从嵌套。 这种模式用得最多的情况就是实现“树形结构”数据的存储,比如各大网站上常见的细分类别、应用系统的组织结构、Web系统的菜单树等都能用到这种模式。 自联结模式有很... 阅读全文
posted @ 2008-08-04 21:11 zping 阅读(1947) 评论(3) 推荐(0) 编辑
摘要: 除了上面提到的四种主要设计模式,还有一些其他模式,在某些项目中可能会用到,在这里先简单做个说明,暂不做深入讨论,等到以后的项目用到这些模式的时候,再结合实际需求详细解说。 (一)继承模式 继承模式,可以看作是“主从模式”的一种特殊情况(或者说是“变形”),它所代表的两个对象也是“一对多”的关系。它与“主从模式”的区别是,“继承模式”中从表的主键是复合主键,并且复合主键中必定包含主表的主键列。 ... 阅读全文
posted @ 2008-08-04 21:10 zping 阅读(5745) 评论(0) 推荐(0) 编辑
摘要: (五)使用上述四种模式的一般原则 1. 什么时候用“主扩展模式”? 对象的个数不多;各个对象之间的属性有一定差别;各个对象的属性在数据库设计阶段能够完全确定;各个扩展对象有独立的、相对比较复杂的业务处理需求,此时用“主扩展模式”。将各个对象的共有属性抽取出来设计为“主表”,将各个对象的剩余属性分别设计为相应的“扩展表”,“主表”与各个“扩展表”分别建立一对一的关系。 2. ... 阅读全文
posted @ 2008-08-04 21:06 zping 阅读(1160) 评论(0) 推荐(0) 编辑
摘要: 多对多模式 也是比较常见的一种数据库设计模式,它所描述的两个对象不分主次、地位对等、互为一对多的关系。对于A表来说,一条记录对应着B表的多条记录,反过来对于B表来说,一条记录也对应着A表的多条记录,这种情况就是“多对多模式”。 “多对多模式”需要在A表和B表之间有一个关联表,这个关联表也是“多对多模式”的核心所在。根据关联表是否有独立的业务处理需求,可将其划分为两种细分情况。 1. ... 阅读全文
posted @ 2008-08-04 21:05 zping 阅读(6347) 评论(1) 推荐(1) 编辑
摘要: 名值模式: 通常用来描述在系统设计阶段不能完全确定属性的对象,这些对象的属性在系统运行时会有很大的变更,或者是多个对象之间的属性存在很大的差异。 举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“名值模式”这个概念来使用的,请大家注意)。 1. 使用名值模式进行设计时,如果对“其他属性”仅作浏览保存、不作其它任何特殊处理,则通... 阅读全文
posted @ 2008-08-04 21:03 zping 阅读(1134) 评论(1) 推荐(0) 编辑
摘要: (二)主从模式 主从模式,是数据库设计模式中最常见、也是大家日常设计工作中用的最多的一种模式,它描述了两个表之间的主从关系,是典型的“一对多”关系。 举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“主从模式”这个概念来使用的,请大家注意)。 比如论坛程序。一个论坛通常都会有若干“板块”,在每个板块里面,大家可以发布很多的新帖。这时候“板块”和“发帖”就是... 阅读全文
posted @ 2008-08-04 21:01 zping 阅读(2009) 评论(0) 推荐(0) 编辑
摘要: 一)主扩展模式 主扩展模式,通常用来将几个相似的对象的共有属性抽取出来,形成一个“公共属性表”;其余属性则分别形成“专有属性表”,且“公共属性表”与“专有属性表”都是“一对一”的关系。 “专有属性表”可以看作是对“公共属性表”的扩展,两者合在一起就是对一个特定对象的完整描述,故此得名“主扩展模式”。 举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解... 阅读全文
posted @ 2008-08-04 20:58 zping 阅读(1302) 评论(3) 推荐(0) 编辑
摘要: 由于Oracel 10g 是一个多进程多线程的数据库,而SQL server是一个单进程多线程的数据库Oracel实例主要有3类进程 1,服务器进程 2,后台进程3,从属进程 服务器进程:分为专有服务器进程和共享服务器进程 后台进程: 1,PMON(进程监视器) 该进程是在出现异常中止后完成操作,还包括监视其他后台进程,如果这些进程崩溃,他来负责重启进程。PMON还会向Oracle TNS 监听... 阅读全文
posted @ 2008-08-04 17:45 zping 阅读(586) 评论(0) 推荐(0) 编辑