博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2007年6月20日

摘要: 对于开发人员来说,我们经常做的是启动一个事务,执行SQL,提交事务。这就完成了我们的工作。但是,就在这些简单的动作背后,网络和数据库都做了些什么呢。我们都想知道。 下面以一个实例来说明。背景:用户正运行一个连接到Oracle数据库的客户端应用程序,是一个员工档案管理程序。过程:1.用户修改了一笔员工档案记录的姓名,并单击了“保存”,这时客户端应用程序通过网络向Oracle服务器进程发送了一条SQL UPDATE语句;(注:关于客户与服务器的如何连接的过程,将另起篇幅说明。将会涉及到:Oracle Net组件、MTS、监听器、Dispatcher等概念)2.服务器进程收到UPDATE语句请求以后 阅读全文

posted @ 2007-06-20 10:14 徐正柱- 阅读(262) 评论(0) 推荐(0) 编辑

摘要: 抽象工厂(Abstract Factory)模式是将工厂和产品全部抽象化,一个抽象工厂生成一组抽象产品,而一个具体工厂则生成具体产品的一个特定组合。它能够维持这种相关对象组合的一致性,并使得用户不需要了解工厂和产品的具体实现。 泛型不仅能用来做容器,还能够提供代码复用的... 阅读全文

posted @ 2007-06-20 10:13 徐正柱- 阅读(769) 评论(0) 推荐(0) 编辑

摘要: 如何通过反射,从DataReader将数据填充到数据实体泛型集合的静态方法. //Kchen.Core.BaseBusinessObject为通用数据实体类,此处仅为限定T所继承的类型 public static IList FillDataListGeneric(System.Data.IDataReader reader) where T : Kchen.Core.Base... 阅读全文

posted @ 2007-06-20 10:12 徐正柱- 阅读(820) 评论(0) 推荐(0) 编辑

摘要: ①为什么要使用存储过程?因为它比SQL语句执行快. ②存储过程是什么?把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句.(AX写作本文时观点) ③来一个最简单的存储过程CREATE PROCEDURE dbo.testProcedure_AXASselect userID from USERS order by userid desc 注:dbo.testProcedure_AX是你... 阅读全文

posted @ 2007-06-20 10:12 徐正柱- 阅读(324) 评论(0) 推荐(0) 编辑

摘要: 大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿!SQL语句:是对数据库(数据)进行操作的惟一途径;消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;可以有不同的写法;易学,难精通。SQL优化:固定的SQL书写习惯,相同的查询尽量保持相同,存储过程的效率较高。应该编写与其格式一致的语句,包括字母的大小写、标点符号、换行的位置等都要一致ORACLE优化器:在任何可能的时候都会对表达式进行评估,并且把 阅读全文

posted @ 2007-06-20 10:11 徐正柱- 阅读(449) 评论(0) 推荐(0) 编辑

摘要: 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最... 阅读全文

posted @ 2007-06-20 10:11 徐正柱- 阅读(333) 评论(0) 推荐(0) 编辑

摘要: 如何配置才能使客户端连到数据库: 要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是java连接数据库的时候,可以用jdbc thin模式,不用装oracle的客户端软件。加入你在机器上装了oracle数据库,就不需要在单独在该机器上安装oracle客户端了,因为装oracle数据库的时候会自动安装oracle客户端。 用过sql server数据库然后又用oracle的新手可能会有这样的疑问:问什么我用sql server的时候不用装sql server的客户端呢?原因很简单,sql server也是microsoft的,它在操... 阅读全文

posted @ 2007-06-20 10:10 徐正柱- 阅读(356) 评论(0) 推荐(0) 编辑

摘要: 查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中。SELECT INTO语法如下: SELECT [DISTICT|ALL]{*|column[,column,...]} INTO (variable[,variable,...] |record) FROM {table|(sub-query)}[alias] WHERE............ PL/SQL中SELECT语句只返回一行数据。如果超过一行数据,那么就要使用显式游标(对游标的讨论我们... 阅读全文

posted @ 2007-06-20 10:10 徐正柱- 阅读(301) 评论(0) 推荐(0) 编辑

摘要: 常量1. 定义常量的语法格式常量名 constant 类型标识符 [not null]:=值;常量,包括后面的变量名都必须以字母开头,不能有空格,不能超过30个字符长度,同时不能和保留字同名,常(变)量名称不区分大小写,在字母后面可以带数字或特殊字符。括号内的not null为可选参数,若选用,表明该常(变)量不能为空值。2. 实例在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序定义了名为pi的数字型常量,长度为9。执行结果如图9.6所示。―――――――――――――――――――――――――――――――――――――declarepi constant number(9) 阅读全文

posted @ 2007-06-20 10:09 徐正柱- 阅读(934) 评论(0) 推荐(0) 编辑

摘要: 最近考虑到我们的数据库端写存储过程关于临时表使用的情况,由于我们现在还不清楚数据库端到底是怎么处理的,是否和Sql Server的处理方式相同,是否会存在隐患等等一些问题,为了避免将来不必要的麻烦我做了深入的研究和查看了一些权威的资料,现在和大家共享,希望大家在处理 Oracle临时表是注意一下: 首先是创建临时表的语法: CREATE GLOBAL TEMPORARY TABLE table"... 阅读全文

posted @ 2007-06-20 10:09 徐正柱- 阅读(447) 评论(0) 推荐(0) 编辑