- 博客(42)
- 资源 (3)
- 收藏
- 关注
转载 Oracle物化视图建立方法
Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。
2009-04-19 10:58:00 741
转载 Oracle 11g 新特性-PL/SQL部分
· 结果集缓存(Result Set Caching) 这一特性能大大提高很多程序的性能。在一些MIS系统或者OLAP系统中,需要使用到很多"selectcount(*)"这样的查询。在之前,我们如果要提高这样的查询的性能,可能需要使用物化视图或者查询重写的技术。在11g,我们就只需要加一个/*+result_cache*/的提示就可以将结果集缓存住,这样就能大
2009-04-17 15:09:00 602
转载 Windows Server 2003 和 Windows 2000 提供大内存支持
Windows Server 2003 和 Windows 2000 提供大内存支持 源地址: http://support.microsoft.com/kb/283037/ Windows Server 2003 和 Windows 2000 提供大内存支持察看本文应用于的产品function loadTOCNode(){}文章编
2009-03-18 21:15:00 636
转载 基于自定义函数的Function-Based索引创建
在oralce中给自建函数创建索引,结果不成功。source:Create Index IDX_T_SP_TWOTYPESTAT_0_f On T_SP_TWOTYPESTAT_0(f_dateadd(yearmonth,12,2)); err:the function is not deterministic. 我们看一下这是为什么?随便一个测试可以再现这个问题,我门创建一个
2009-03-16 16:15:00 469
转载 windows 2003中IE无法更改安全级别,如何解决?
Win2003上网一直提示安全问题,但在IE中的“Internet选项”对话框中选择“安全”标签,并把“该区域的安全级别”滚动条设置为“中”却一直不成功,始终处在高级别,不知怎样才能把它拉下来到中的位置。 解决办法:在添加删除程序--添加/删除windows组件中把" Internet Explorer 增强的安全配置"的勾去掉就可以了。 在VPS里边出现这个问题,解决办法相同另一
2008-12-04 16:18:00 5342 1
转载 EXECUTE IMMEDIATE用法小解
EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTEIMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTEIMMEDIATE,因为它获的收益在包
2008-10-19 15:54:00 768
转载 Dephi调用C#编写的WebService的一些问题与解决
问题1:服务端接收的所有中文都是"?????"(乱码) 解决:设置HTTPRIO控件的HTTPRIO.HTTPWebNode.UserUTF8InHeader属性为true问题2:Dephi编写的客户端在windows2003下调用WebService提示"Access violation at address 00E59195. Write of address 00E59195" 解决
2008-09-15 15:49:00 773
转载 在存储过程中拥有"role"权限的特殊性
在Oracle数据库中,用户拥有的role权限在存储过程是不可以使用的。 示例如下: SQL> select * from dba_role_privs where grantee=TEST;GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------ ------------ ------------ ---
2008-08-05 15:30:00 453
转载 Oracle常用SQL优化Hint语句
在进行sql执行过程中,由于有时候系统自动优化的方式并不是最优的。需要我们手工添加hint来提高查询效率。1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=SCOTT; 2.
2008-08-05 15:05:00 632
原创 你有搜索引擎依赖症吗?
今天看到一篇文章,说的是80后网友依赖搜索引擎,不记忆不思考,我觉得不看下面那些条目,我也可以肯定我一定是严重的搜索引擎依赖症,浏览器的主页永远是Google,脑子闪过一个关键字,总是要Google一下,碰到什么问题,也是Google一下,Google过后就什么都忘了,待下次碰到这个问题,可能又是Google,根本没在脑子留下什么印象,没有网络感觉就没法工作。唉....看看下面,你有搜索引擎依赖
2008-07-15 13:30:00 637
原创 连接Oracle 10g时ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME 错误的解决
安装Oracle 10g:如果只是本机的访问 sqlplus system/manager这样是没有问题的。但是如果使用 sqlplus system/manager@orcl的时候却会报ora-12514的错误。解决方法:1. 打开/network/admin/listener.ora文件,找到: SID_LIST_LISTENER = (SID_LIST = (SID_DESC
2008-07-15 12:54:00 1165
原创 索引什么时候重建和重建方法讨论
一提到索引,大家都知道,但是怎样建索引,什么时候重建索引,重建索引用什么方法,可能有的就不太清楚了,我根据一些资料简单的整理一点,如果哪里不对或是不妥请大家指点,希望大家有更好经验也share出来。 索引的目的是为了加快寻找数据的速度,但是如果对表经常做改动,则索引也会相应改动,时间长了,查询速度的效率就会降低,就有可能要重建索引,那么什么时候需要重建索引和用什么方法重建索引可能是大家关心的。 一
2008-05-13 12:47:00 2385
原创 SQL Server访问SYBASE中的表
SQL Server访问Sybase中的表: 一、安装sybase客户端 使用版本:Sybase Client 11.9.2 for NT (1)当安装完成后,运行开始->程序->sybase->Dsedit (2)选择菜单的Server Object,-> Add 输入服务名 例如 1.60 (3)然后在Server列表中选择1.60,双击右边的对话框server
2008-05-13 12:45:00 460
转载 CBO,RBO在ORACLE中的应用
ORACLE 提供了CBO、RBO两种SQL优化器。CBO在ORACLE7 引入,但在ORACLE8i 中才成熟。ORACLE 已经明确声明在ORACLE9i之后的版本中(ORACLE 10G ),RBO将不再支持。因此选择CBO 是必然的趋势。 CBO和 RBO作为不同的SQL优化器,对SQL语句的执行计划产生重大影响,如果要对现有的应用程序从RBO向CBO移植,则必须充分考虑这
2008-05-09 11:12:00 464
转载 如何查看数据库每个表占用的磁盘空间
SQL Server:create table tmp (name varchar(50),rows int,reserved varchar(50), data varchar(50),index_size varchar(50),unused varchar(50)) insert into tmp (name,rows,reserved, data,index_size,unused
2008-04-30 11:49:00 1392
转载 Oracle中对像名大小写敏感性的深入解析
一般情况下,使用者在进行ORACLE开发或管理里都不会对ORACLE对像名大小写进行区别,因为ORALCE在普通情况下会将所有小写都转换为大写进行处理,所以可以说是大小写不敏感的。但是实际ORACLE内部有它一套完整的对像名处理方式。本文将从实例进行分析与探讨ORACLE对像名大小写敏感性的处理机制。 可能很多人在工作已经了解到,ORACLE在创建对像时是可以加引号的,如果不加引号
2008-04-17 17:45:00 523
原创 Access、SQL Server、Oracle 常见应用的区别
在做公司一个产品中,需要有Access、SQL Server、Oracle三个版本;编写SQL语句的过程中,尽量使用一些通用的语句,但还是有些方面有些区别避免不了,现简单总结一下。以下A代表Access,S代表SQL Server,O代表Oracle1、取当前系统时间A:Select Now()S:Select Getdate()O:Select Sysdate From Du
2008-04-13 19:31:00 835
转载 监控数据库性能的SQL
监控数据库性能的SQL 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "rev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait group by event order by 4; 2. 回滚段的争用情况 select name, waits
2008-04-13 18:40:00 584
转载 Oracle优化经典文章------磁盘I/O和碎片篇
Oracle优化经典文章------磁盘I/O和碎片篇不平衡的磁盘I/O和撤消会妨碍性能。这里讨论如何正确定位和配置一些与Oracle数据库相关的物理数据文件。 主要讨论以下内容:[1] 使用磁盘阵列 选择合理的RAID方式。[2] 在可用的硬盘之间分布关键数据文件 要特别注意的文件:system表空间、TEMPORARY表空间、回滚段或UNDO表空间、联机重做日志文件(最好放在最快的
2008-04-13 18:36:00 540
转载 Oracle优化经典文章------索引原理篇
Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做出正确的选择,则可以合理使用资源,使那些已经运行了几个小时甚至几天的进程在几分钟得以完成,这样会使您立刻成为一位英雄。这篇文章就将简单的讨论每个索引选项。主要有以下内容:[1] 基本的索引概念 查询DBA_INDEXES视图
2008-04-13 18:33:00 410
转载 一个漂亮的Delphi程序(Delphi在分形艺术中的应用)
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TBranchColor=record r,g,b:Byte; end; TFormMain = class(TForm) procedur
2004-09-16 16:48:00 1205
原创 国王和电烤箱
国王和电烤箱 有一次,在离这儿不远的一个王国里,国王把他的两个顾问叫来,让他们看一个闪闪发光的 金属盒子。盒子顶上有两个开口,旁边有一个旋钮和一个手柄。 “你们知道这是什么吗?”国王问。 一个顾问——他是一名工程师——抢先回答说:“是电烤箱。” 国王接着问道:“要为它设计一台嵌入式计算机的话,你会怎么设计呢?” 工程师回答说:“使用4位的微处理器。我编一个简单的程序,读取
2004-09-16 16:46:00 998
原创 如何加密Oracle中的存储过程
如何加密Oracle中的存储过程,从而在schema下看不到其源码? 软件环境: 1、操作系统:Windows 2000 Server 2、数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版 3、安装路径:C:/ORACLE 实现方法:1、 D:/>set NLS_LANG=AMERICAN_AMERICA.USACII7或 D:/>
2004-09-16 16:44:00 1100
原创 奔腾4上win2000环境下无法安装oracle8i的问题
P4的计算机最好安装ORACLE 9I 如果不方便的话可以按照以下的方法安装ORACLE 8I (其实也不是所有的P4CPU都不可以安装ORACLE8 I 我的一台P4 1。7 安装ORACLE 8.1.6就一点问题没有) 在P4机器上安装Oracle 8i 一、系统环境及准备工作 硬件: Intel P4的处理器 256M的内存 硬盘有三个分区C、D、E,光驱为F 软件:
2004-09-16 16:43:00 1847
原创 更该数据字典props$解决字符集问题
1. )Use SQL*Plus connect to database as user SYS 2. )Issue this below command SQL> UPDATE PROPS$ SET VALUE$=xxx WHERE NAME=NLS_CHARACTERSET; 3.) Shutdown database and restart it
2004-09-16 16:42:00 877
原创 ORACLE汉字显示的字符集问题
ORACLE汉字显示的字符集问题 ---- 在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管理,经常收到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大
2004-09-16 16:39:00 866
原创 初学Java注意什么?
Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。 我在学习Java的过程中主要围绕以下几个方面来学习: 1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。 2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的
2004-09-03 12:06:00 853
原创 Java入门攻略之Hello World问题
问HelloWorld问题的人实在是太多了,而且经常都以“问一个最简单的问题”开头。其实回想一下,自己也是从这个阶段过来的,说一句“你好”,真的是一个最简单的问题吗?...//think 好了,言归正传,lets say "HelloWorld!" in java... 首先,我们要假设一下我们的平台是Windows+JDK(Linux环境下也差不多)。这个环境是相当普遍、基础和入门的。确
2004-09-03 12:05:00 715
原创 ORACLE SQL性能优化系列 (十四)
46. 连接多个扫描 如果你对一个列和一组有限的值进行比较, 优化器可能执行多次扫描并对结果进行合并连接. 举例: SELECT * FROM LODGING WHERE MANAGER IN (‘BILL GATES,KEN MULLER); 优化器可能将它转换成以下形式 SELECT * FROM LODGING WHERE MANAGER = ‘BILL GATES OR MANAG
2004-09-03 11:58:00 791
原创 ORACLE SQL性能优化系列 (十三)
43. 用WHERE替代ORDER BY ORDER BY 子句只在两种严格的条件下使用索引. ORDER BY中所有的列必须包含在相同的索引中并保持在索引中的排列顺序. ORDER BY中所有的列必须定义为非空. WHERE子句使用的索引和ORDER BY子句中所使用的索引不能并列. 例如: 表DEPT包含以下列: DEPT_CODE PK NOT NULL DEPT_DESC NOT NULL
2004-09-03 11:57:00 716
原创 ORACLE SQL性能优化系列 (十二)
39. 总是使用索引的第一个列 如果索引是建立在多个列上, 只有在它的第一个列(leading column)被where子句引用时,优化器才会选择使用该索引. 译者按: 这也是一条简单而重要的规则. 见以下实例. SQL> create table multiindexusage ( inda number , indb number , descr varchar2(10)); Table c
2004-09-03 11:56:00 666
原创 ORACLE SQL性能优化系列 (十)
31. 强制索引失效 如果两个或以上索引具有相同的等级,你可以强制命令ORACLE优化器使用其中的一个(通过它,检索出的记录数量少) . 举例: SELECT ENAME FROM EMP WHERE EMPNO = 7935 AND DEPTNO + 0 = 10 /*DEPTNO上的索引将失效*/ AND EMP_TYPE || ‘ = ‘A /*EMP_TYPE上的索引将失效*/ 这是一
2004-09-03 11:55:00 660
原创 ORACLE SQL性能优化系列 (十一)
36. 用UNION替换OR (适用于索引列) 通常情况下, 用UNION替换WHERE子句中的OR将会起到较好的效果. 对索引列使用OR将造成全表扫描. 注意, 以上规则只针对多个索引列有效. 如果有column没有被索引, 查询效率可能会因为你没有选择OR而降低. 在下面的例子中, LOC_ID 和REGION上都建有索引. 高效: SELECT LOC_ID , LOC_DESC , REG
2004-09-03 11:55:00 678
原创 ORACLE SQL性能优化系列 (九)
27. 基础表的选择 基础表(Driving Table)是指被最先访问的表(通常以全表扫描的方式被访问). 根据优化器的不同, SQL语句中基础表的选择是不一样的. 如果你使用的是CBO (COST BASED OPTIMIZER),优化器会检查SQL语句中的每个表的物理大小,索引的状态,然后选用花费最低的执行路径. 如果你用RBO (RULE BASED OPTIMIZER) , 并且所有的连
2004-09-03 11:54:00 670
原创 ORACLE SQL性能优化系列 (八)
25. 用索引提高效率 索引是表的一个概念部分,用来提高检索数据的效率. 实际上,ORACLE使用了一个复杂的自平衡B-tree结构. 通常,通过索引查询数据比全表扫描要快. 当ORACLE找出执行查询和Update语句的最佳路径时, ORACLE优化器将使用索引. 同样在联结多个表时使用索引也可以提高效率. 另一个使用索引的好处是,它提供了主键(primary key)的唯一性验证. 除了那些L
2004-09-03 11:53:00 658
原创 ORACLE SQL性能优化系列 (七 )
24. 用EXPLAIN PLAN 分析SQL语句 EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句. 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称. 你需要按照从里到外,从上到下的次序解读分析的结果. EXPLAIN PLAN分析的结果是用缩进的格式排列的, 最内部的操作将被最
2004-09-03 11:53:00 746
原创 ORACLE SQL性能优化系列 (六)
20. 用表连接替换EXISTS 通常来说 , 采用表连接的方式比EXISTS更有效率 SELECT ENAME FROM EMP E WHERE EXISTS (SELECT ‘X FROM DEPT WHERE DEPT_NO = E.DEPT_NO AND DEPT_CAT = ‘A); (更高效) SELECT ENAME FROM DEPT D,EMP E WHERE E.DEPT_
2004-09-03 11:52:00 637
原创 ORACLE SQL性能优化系列 (五)
17. 使用表的别名(Alias) 当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误. (译者注: Column歧义指的是由于SQL中不同的表具有相同的Column名,当SQL语句中出现这个Column时,SQL解析器无法判断这个Column的归属) 18. 用EXISTS替代IN 在许多基于基
2004-09-03 11:51:00 549
原创 ORACLE SQL性能优化系列 (三)
8. 使用DECODE函数来减少处理时间 使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如: SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%; SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENA
2004-09-03 11:50:00 625
原创 ORACLE SQL性能优化系列 (四)
13. 计算记录条数 和一般的观点相反, count(*) 比count(1)稍快 , 当然如果可以通过索引检索,对索引列的计数仍旧是最快的. 例如 COUNT(EMPNO) (译者按: 在CSDN论坛中,曾经对此有过相当热烈的讨论, 作者的观点并不十分准确,通过实际的测试,上述三种方法并没有显著的性能差别) 14. 用Where子句替换HAVING子句 避免使用HAVING子句, HAVING
2004-09-03 11:50:00 637
CodeSite2.0
2012-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人