方法一、尽量使用复杂的sql来代替简单的一堆 sql. 同样的事务,一个复杂的sql完成的效率高于一堆简单sql完成的效率。有多个查询时,要善于使用join。 ors=oconn.execute("select * from books") while not ors.eof strsql = "select * from authors where authorid="&ors("authorid") ors2=oconn.execute(strsql) response.write ors("title")&">>"&ors2("name")&"&q uot; ors.movenext() wend ...
操作符优化 in操作符,用in写出来的sql的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用in的sql性能总是比较低的,从oracle执行的步骤来分析用in的sql与不用in的sql有以下区别: oracle试图将其转换成多个表的连接,如果转换不成功则先执行in里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用in的sql至少多了一个转换的过程。一般的sql都可以转换成功,但对于含有分组统计等方面的sql就不能转换了。 推荐方案:在业务密集的sql当中尽量不采用in操作符。 notin操作符 此操作是强列推荐不使用的,因为它不能应用表的索引。 推荐方案:用notexists或(外连接+判断为空)方案代替 <>操作符(不等于) 不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。 推荐方案:用其它相同功能的...
数组php 中的数组的功能与 visual basic .net 中的数组的功能截然不同。php 中的数组实际上是关联数组,但是可以像索引或关联数组那样使用。而 visual basic .net 中的数组是索引数组。visual basic .net 不支持关联数组(但您可以自己创建它们,请参阅下面的“集合”)。其他 asp.net 语言支持这些类型的数组,但 visual basic .net 并不支持,这可能给 php 开发人员提出了一个难题,因为他们并不习惯使用这种更常见的索引数组,并且可能会希望在 visual basic .net 中创建关联数组模型。表 10 显示了 php 和 visual basic .net 中的简单数组示例。表 10:创建数组的示例php visual basic .net %24a = array (0,1, 2); dim mysinglearraya...
oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使oracle数据库保持优良性能,这是许多数据库管理员关心的问题,根据笔者经验建议不妨针对以下几个方面加以考虑。一、分区 根据实际经验,在一个大数据库中,数据空间的绝大多数是被少量的表所占有。为了简化大型数据库的管理,改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态表中的记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。1.建立分区表create table employee(empno varchar2(10) primary key,name varchar2(30),deptno number(2))partition by range(deptno)(partition pa...
要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危房之上,随着开发过程的不断深入,它要随时面临着各种难 以预料的风险,开发者要为修改或重新设计没有设计好的数据库系统而付出难以预料的代价。所以,一个良好的数据库设计是高效率的系统所必须的。 一、逻辑建模 数据库设计的方法因具体数据库而异,但是建模阶段的相同的,所以可以用一些通用的工具来进行,如rational rose,powerdesigner等,这一阶段主要是依据系统的需求,获取与分析要实现的应用系统信息,进行数据内部以及外在关系的分析,从而有效地建立整个系统的数据结构(在关系数据库中通常称为表结构),在此基础上对数据库的数据量、数据流量、及响应速度的估算分析,这样数据模型就产生了。具体的操作准则是数据库的几个范式、用户的具体需求和分...
从对象(例如数据库表、索引、约束、触发器等)中提取ddl命令的普通方法涉及到的操作包括从这些对象中提取元数据(metadata),并把这些数据存储在内存中。尽管目前有很多脚本可以实现这样的功能,但是它们通常都是不完整的或者过时的。幸运的是,oracle 9.2提供了一个实现这样的功能的api:dbms_metadata程序包。 在很多情况下,数据库中数据的维护操作要求我们提取多种对象(例如数据库表、索引、约束、触发器等)的ddl(data definition language,数据定义语言)。 最近我承担了一个任务,我需要编写一组数据库程序包来执行高性能的大量的数据删除(delete)操作。这样的操作要求我拥有提取和存储数据库对象ddl的相关技术。 提取和存储数据库对象的ddl的方法如下: · 建立与源表结构相同的数据表,但是它不带主键、备用键和外部键约束。 · 例如,使用mytabl...
对于dml操作来说,索引对于数据库是一个性能负担.如果索引没有被有效的使用,那么其存在性就值得从新考虑.1. 从oracle9i开始,oracle允许你监视索引的使用:sql> connect scott/tiger@connerconnected to oracle9i enterprise edition release 9.2.0.4.0 connected as scottsql> select index_name from user_indexes;index_namepk_deptpk_emp开始监视pk_dept索引:sql> alter index pk_dept monitoring usage;index altered在此过程中,如果查询使用索引,将会记录下来:sql> select * from dept where deptno=10;d...
1.having 子句的用法 having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句中的列. 2.外部联接"+"的用法 外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相匹配并被返回.若二者均不带’+’,则二者中无法匹配的均被返回.利用外部联接"+",可以替代效率十分低下的 not in 运算,大大提高运行速度.例如,下面这条命令执行起来很慢 4.set transaction 命令的用法 在执行大事务时,有时oracle会报出如下的错误: ora-01555:snapshot too old (rollback segment too small) 这说明oracle给此事务随机...
摘要 全文检索技术是智能信息管理的关键技术之一,oracle text作为oracle9i的一个组件,提供了强大的全文检索功能,用oracle9i做后台数据库,就可以充分利用其全文检索技术,构建复杂的大型文档管理系统。本文主要介绍了oracle text的体系结构及其使用。 关键词 oracle text 全文检索 oracle一直致力于全文检索技术的研究,当oracle9i rlease2发布之时,oracle数据库的全文检索技术已经非常完美,oracle text使oracle9i具备了强大的文本检索能力和智能化的文本管理能力。oracle text是oracle9i采用的新名称,在oracle8/8i中它被称作oracle intermedia text,在oracle8以前它的名称是oracle context cartridge。使用oracle9i和oracle text,...
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们通常的做法都是通过export with rows=no来得到,但它的输出因为格式的问题并不能直接拿来用。而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如iot和嵌套表等,还是无法查到。 从数据字典中获得ddl语句是经常要用的,特别是在系统升级/重建的时候。在oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处ddl语句。使用这个功能强大的工具,我们可以获得单个对象或整个schema的ddl语句。最好不过的是因为它使用起来很简单。 1、获得单个表和索引ddl语句的方法:set heading off;set echo off;set pages 999;set long 90000;spool get_single.sqlselect dbms_metadata....
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器