人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结:   为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为(< 1秒)。   测试环境--   主机:HP LH II   主频:330MHZ ...
INNER 指定返回所有相匹配的行对。废弃两个表中不匹配的行。如果未指定联接类型,则这是默认设置。 LEFT [OUTER] 指定除所有由内联接返回的行外,所有来自左表的不符合指定条件的行也包含在结果集内。来自左表的输出列设置为 NULL。 RIGHT [OUTER] 指定除所有由内联接返回的行外,所有来自右表的不符合指定条件的行也包含在结果集内。来自右表的输出列设置为 NULL。 FULL [OUTER] 如果来自左表或右表的某行与选择准则不匹配,则指定在结果集内包含该行,并且将与另一个表对应的输出列设置为 NULL。除此之外,结果集中还包含通常由内联接返回的 ...
查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化   可以通过如下方法来优化查询 : 1、把数据、日志、索引放 ...
1、建立pdm的时候选择sqlserver2000 2、建立PDM后,先建立一个dbo的用户,新建表后要制定表的所属用户为dbo。 3、 建表的时候Name和Code可以分开,name写成中文,用来看;code写成英文,用来当表名;最后就是把comment写上,这个要生成注释的。写 注释的时候可以写长一些,但是千万不要回车换行,要不生成sqlserver数据库的时候你点击表设计视图,列的注释分好几行不好查看。给表添加列的时候 也是一样,分别写name、code、comment。 4、打开database-edit current DBMS后把script/objects/table/cr ...
说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 11 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) select d,e,f from b; 说明:显示文章、提交人和最后回复时间 SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 说明:外连接查询 ...
最近做了一个无限分类,而且树型结构实现展示。 数据库常规做法是在一张表里建立如下字段: TableName:TGroup PKID  GroupName  ParentID Others 编号  名称            父类编号  其他 1      GroupA     ...
下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- ...
一个选课模型及SQL语句 Sid Sname Birthday ...
考虑到多表之间的查询怎么办.在这里,要了解查询在应用系统中的复杂性/重要性/可行性. 重要性:查询统计是系统维护的一个目标之一,是系统的一个必不可少的部分,因此,在绝大部分的系统中,都会有查询统计。 复杂性:查询是在系统开发中一个最复杂的部分,谁都无法预料查询统计的复杂性,哪怕是在一个小型系统中,因此,在SPL中也是无法实现这么多的查询统计,为了兼容,SPL也努力实现了它所能做的,就是”联合查询”功能,将通过Query类来完成. 可行性:要能快速,有效的应付复杂多变的查询与统计,在我看来,用视图进行处理是一个最有效的方式.一是视图的高速:数据库的视图查 ...
tianping
搜索本博客
存档
最新评论