晴朗笔记

努力做好自已,其他交给时间

2007年8月2日 #

索引笔记

摘要: 创建索引语句:Create Unique Index Index_Nameon Table_Name (Column_Name1,Column_Name2,.....)查询索引:查询DBA_INDEXES视图可得到表中所有索引的列表,注意只能通过USER_INDEXES的方法来检索模式(schema)的索引。访问USER_IND_COLUMNS视图可得到一个给定表中被索引的特定列。限制索引使用的条件:使用不等于操作符(<>、!=)避免方法:cust_rating <> 'aa' 改成:cust_rating < 'aa' or cu 阅读全文

posted @ 2007-08-02 16:59 Mr__BRIGHT 阅读(266) 评论(0) 推荐(0) 编辑

索引全攻略

摘要: 索引问题一 概述 可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。 数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值, 然后跟随指针到达包含该值的行二 索引的两种类型:聚集索引=簇集索引聚集索引基于数据行的键值在表内排序和存储这些数据行。由于数据行按基于聚集索引键的排序次序存储,因此聚集索引对查找行很有效。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。数据行本身构成聚集索引的最低级别。只有当表包含聚集索引时,表内的数据行才按排序次序存储。 阅读全文

posted @ 2007-08-02 16:49 Mr__BRIGHT 阅读(350) 评论(0) 推荐(0) 编辑

SQL Server之索引

摘要: 一.概念单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上。用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。复合索引的创建方法与创建单一索引的方法完全一样。但复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,如果不特殊说明的话一般是指单一索引。宽索引也就是索引列超过2列的索引。设计索引的一个重要原则就是能用窄索引不用宽索引,因为窄索引往往比组合索引更有效。拥有更多的窄索引,将给优化程序提供更多的选择余地,这通常有助于提 阅读全文

posted @ 2007-08-02 15:32 Mr__BRIGHT 阅读(195) 评论(0) 推荐(0) 编辑

使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引

摘要: 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引在oracle中,我们经常以为建立了索引,sql查询的时候就会如我们所希望的那样使用索引,事实上,oracle只会在一定条件下使用索引,这里我们总结数第一点:oracle会在条件中包含了前导列时使用索引,即查询条件中必须使用索引中的第一个列,请看下面的例子SQL> select * from tab;TNAME TABTYPE CLUSTERID------------------------------ ------- ----------BONUS TABLEDEPT TABLEDUMMY TABLEEMP TABLESA 阅读全文

posted @ 2007-08-02 15:30 Mr__BRIGHT 阅读(610) 评论(0) 推荐(1) 编辑

复合索引

摘要: 复合索引索引可以包含一个、两个或更多个列。两个或更多个列上的索引被称作复合索引。例如,以下语句创建一个具有两列的复合索引:CREATE INDEX nameON employee (emp_lname, emp_fname)如果第一列不能单独提供较高的选择性,复合索引将会非常有用。例如,当许多雇员具有相同的姓氏时,emp_lname 和 emp_fname 上的复合索引非常有用。因为每个雇员都有唯一的 ID,所以 emp_id 和 emp_lname 上的复合索引可能没有用处,因此列 emp_lname 不会提供任何附加选择性。利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引 阅读全文

posted @ 2007-08-02 15:23 Mr__BRIGHT 阅读(4284) 评论(0) 推荐(0) 编辑

导航