在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度也成为广大数据库用户所接受的优化方法。
在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个索引。因为查询执行的大部分开销是磁盘I/O,使用索引提高性能的一个主要目标是避免全表扫描,因为全表扫描需要从磁盘上读表的每一个数据页,如果有索引指向数据值,则查询只需读几次磁盘就可以了。所以如果建立了合理的索引,优化器就能利用索引加速数据的查询过程。但是, ...
1、选取最适用的字段属性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。
另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据 ...
/*--左外连结 左表的全部记录(部门表中的所有记录:demp)-- */
/*--方式2--*/
select e.ename,d.dname
from dept d , emp e
where d.deptno = e.deptno(+)
-------后面(+)的意思不清楚;
/*-- any 比较返回值中的任何一个,其中一个满足,则返回true --*/
select * from emp e
where e.sal < any(select sal from emp where deptno=2)
/*--记录总数 --*/
...
发布时间:2008.03.04 04:40 来源:赛迪网 作者:罗丽娜
问:数据库应用系统开发具体分为哪几个阶段?
答:数据库应用系统的开发是一项软件工程。一般可分为以下几个阶段:
1.规划
2.需求分析
3.概念模型设计
4. 逻辑设计
5.物理设计
6.程序编制及调试
7.运行及维护。
这些阶段的划分目前尚无统一的标准,各阶段间相互联接,而且常常需要回溯修正。
在数据库应用系统的开发过程中,每个阶段的工作成果就是写出相应的文档。每个阶段都是在上一阶段工作成果的基础上继续进行,整个开发工程是有依据、有组织、有计划、有条不紊地展开工作。
1.规划
规 ...
一、前言:在经过一段时间的存储过程开发之后,写下了一些开发时候的小结和经验与大家共享,希望对大家有益,主要是针对Sybase和SQL Server数据库,但其它数据库应该有一些共性。
二、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。
三、介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,就会遇到优化的问题,否则速 ...
一直以为内联外联是不是就多了一个outer,昨天特地去查了一下,资料有点少,但还是找到了,可能很多人都知道left join,right join,full join,left outer join,right outer join,full outer join,inner join,join;
这样列出来是不是有点晕,开始我也有点晕;
我想说的是 left join和left outer join其实就是一样,只是有达形式不一样了,这样明白了吧,相同的join,inner join是同一回事;
顺便也把左右联也说一下,最简单的表达是,当左联时,左表有的,联表没有,左表统一加 ...
以本人浅薄的知识,现阶段我认为的数据优化,说一说,跟大家分享一下;
在日常工作中,我用到的,就这有下面这几点:
查询:
1.如果数据量很大的话,最好WHERE后面的条件是索引,不是最好,是一定了,不然一查,数据库就挂了;
2.当出现多个条件查询的时候,而且都是索引时,应该把成类的排在前面,比如说从JavaEye里面查一个文章,如果你数据库里面有很多个网站的数据,那么先WHERE后面跟一个Domain='JavaEye'再AND限定条件,这样可以一级一级缩小范围;
也许各位觉得没什么,但如果数据量大的时候,就会很明显了;
That line makes me nervous. 快疯掉了,从昨晚到现在一直没有解决的问题;前天写了一个导入程序;JDK1.5+jTDS1.2.2+SQL SERVER 2000(SP3)+MySQL5; 从MySQL中导入抓取回来的数据,到SQL SERVER里,程序跑了一会就提示上面那错误: java.sql.SQLException: Invalid state, the Connection object is closed. at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(Connect ...







评论排行榜