SQL
文章平均质量分 68
dianfeng21sj
这个作者很懒,什么都没留下…
展开
-
使用索引的误区之三:基于函数的索引
使用索引的误区之三:基于函数的索引使用基于函数的索引(BFI, Based Function Index):从Oracle 8i开始,可以使用基于函数的索引来提高查询性能, 使用基于函数的索引,需要几个条件:1, 用户需要有create index或者create any index权限2, 用户需要有query rewrite或者global query rewirte权限3, 设置系统参原创 2007-05-20 22:52:00 · 709 阅读 · 1 评论 -
【SQLSERVER】存储过程基础
1.声明变量 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DECLARE @F001 SMALLINT, @F002 INTEGER, @F003 VARCHAR(20),原创 2007-09-20 10:31:00 · 541 阅读 · 0 评论 -
两种比较好的分类查询语句
分页方案一:(利用Not In和SELECT TOP分页)语句形式:SELECT TOP 页大小 *FROM TestTableWHERE (ID NOT IN (SELECT TOP 页大小*页数 id FROM 表 ORDER BY id))ORDER BY ID-------------------------------转载 2007-09-12 12:59:00 · 455 阅读 · 0 评论 -
索引的建立
CREATE INDEX 为给定表或视图创建索引。 只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。 语法 CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ]原创 2007-05-20 23:12:00 · 737 阅读 · 0 评论 -
数据库中创建视图和索引还有存储过程起什么作用?
视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能: 将用户限定在表中的特定行上。 例如,只允许雇员看见工作跟踪表内记录其工作的行。 将用户限定原创 2007-05-20 23:06:00 · 1632 阅读 · 0 评论 -
使用索引的误区之四:空值对索引的影响
使用索引的误区之四:空值对索引的影响我们首先做一些测试数据:SQL> create table t(x int, y int); Table created 请注意,这里我对表t做了一个唯一(联合)索引:SQL> create unique index t_idx on t(x,y); Index created SQL> insert into t values(1,1); 1 row inse原创 2007-05-20 22:53:00 · 879 阅读 · 0 评论 -
使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引在oracle中,我们经常以为建立了索引,sql查询的时候就会如我们所希望的那样使用索引,事实上,oracle只会在一定条件下使用索引,这里我们总结数第一点:oracle会在条件中包含了前导列时使用索引,即查询条件中必须使用索引中的第一个列,请看下面的例子SQL> select * from tab; TNAME原创 2007-05-20 22:50:00 · 580 阅读 · 0 评论 -
存储过程介绍及asp+存储过程的使用
一、先介绍一下什么是存储过程存储过程是利用SQL Server所提供的Tranact-SQL语言所编写的程序。Tranact-SQL语言是SQL Server提供专为设计数据库应用程序的语言,它是应用程序和SQL Server数据库间的主要程序式设计界面。它好比Oracle数据库系统中的Pro-SQL和Informix的数据库系统能够中的Informix-4GL语言一样。这类语言主要提供以下功原创 2007-05-20 23:17:00 · 378 阅读 · 0 评论 -
使用索引的误区之六:为索引列都建立索引
使用索引的误区之六:为所有列都建立索引我们知道,建立索引是为了提高查询的效率,但是同时也应该注意到,索引增加了对DML操作(insert, update, delete)的代价,而且,一给中的索引如果太多,那么多数的索引是根本不会被使用到的,而另一方面我们维护这些不被使用的所以还要大幅度降低系统的性能。所以,索引不是越多越好,而是要恰到好处的使用。 比如说,有些列由于使用了函数,我们要使用已有的索原创 2007-05-20 22:54:00 · 504 阅读 · 0 评论 -
SQL 存储过程和视图有什么关系?
本人觉得yykele的回答有很不够的地方,“和视图没什么关系”是不可能。 首写两者都是SQL的数据对象 再次并且写法也很相似。 最重要的是在服务器的存储和运行过程都几乎是一样的,二者都是以SQL语句集存储的,而且在运行之前都是经过编译的,也就是不用每次都重新编译,这样可以大大提高执行效率。 顾名思义,其区别一个重在“过程”、一个重在“图”。 也就是存储过程涉及很多的数据处理,整个是一个复原创 2007-05-20 23:05:00 · 626 阅读 · 0 评论 -
ASP调用带参数存储过程的几种方式
1. 这也是最简单的方法,两个输入参数,无返回值: set connection = server.createobject("adodb.connection") connection.open someDSN Connection.Execute "procname varvalue1, varvalue2" 将所有对象清为nothing,释放资源 connection.close set原创 2007-05-20 23:03:00 · 404 阅读 · 0 评论 -
使用索引的误区之二:使用了 和 != 操作符,导致查询不使用索引
使用索引的误区之二:使用了 首先,请记住这个结论:使用了 例如,下面的例子使用了select empno from emp where empno PLAN_TABLE_OUTPUT------------------------------------------------------------------------------------------------------------原创 2007-05-20 22:51:00 · 399 阅读 · 0 评论 -
如何提高数据库访问效率
查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是原创 2007-05-20 23:14:00 · 2403 阅读 · 0 评论 -
什么是索引?
可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定原创 2007-05-20 23:09:00 · 4139 阅读 · 1 评论 -
使用索引的误区之五:空值的妙用
使用索引的误区之五:空值的妙用并不是因为完全为空的条目不被记录到索引中,就坚决不能使用空值,相反,有时候合理使用oracle的空值会为我们的查询带来几倍甚至几十倍的效率提高。举个例子,加入有一个表,里面有个字段是“处理时间”,如果没有处理的事务,该列就为空,并且在大部分情况下,处理的事务总是在总记录数的10%或者更少,而等待处理的记录(“处理时间”这列为空)总是绝大多数的记录,那么在“等待时间”这原创 2007-05-20 22:53:00 · 488 阅读 · 0 评论 -
【SQLSERVER】存儲過程的寫法格式規格
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->******************************************************** author:Susan*** date:2005/08/05*** expliation原创 2007-09-20 10:40:00 · 980 阅读 · 0 评论