Oracle创建索引的原则(转)】的更多相关文章

Oracle 建立索引及SQL优化 数据库索引: 索引有单列索引复合索引之说 如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引.数据库索引主要进行提高访问速度. 建设原则: 1.索引应该经常建在Where 子句经常用到的列上.如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%.则应该考虑. 2.对于两表连接的字段,应该建立索引.如果经常在某表的一个字段进行Order By 则也经过进行索引. 3.不应该在小表上建设索引. 优缺点:…
一.索引简介 1.索引相当于目录 2.索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率. 3.索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取值分散的列上,避免对同一张表创建过多的索引 4.索引的使用对用户来说是透明的,由系统来决定什么时候使用索引. 5.Oracle支持多种类型的索引,可以按列的多少.索引值是否唯一和索引数据的组织形式对索引进行分类,以满足各种表和查询条件的要求.(请见附件) a. 单列索引和复合索引     b.B树索…
数据库索引是为了提高查询速度的一种数据结构. 索引的创建语句 索引的创建语句非常简单. CREATE INDEX 索引名 ON 表名(列名); 除了单列索引,还可以创建包含多个列的复合索引. CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...); 删除索引也非常简单. DROP INDEX 索引名; 查看某个表中的所有索引也同样简单. SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名' 还可以查看某个表中建立了索引的…
在Oracle数据库中,创建索引虽然比较简单.但是要合理的创建索引则比较困难了. 笔者认为,在创建索引时要做到三个适当,即在适当的表上.适当的列上创建适当数量的索引.虽然这可以通过一句话来概括优化的索引的基本准则,但是要做到这 一点的话,需要数据库管理员做出很大的努力.具体的来说,要做到这个三个适当有如下几个要求. 一. 根据表的大小来创建索引. 虽然给表创建索引,可以提高查询的效率.但是数据库管理员需要注意的是,索引也需要一定的开销的.为此并不是说给所有的表都创建索引,那么就 可以提高数据库的…
在mysql中使用索引的原则有以下几点: 1. 对于查询频率高的字段创建索引: 2. 对排序.分组.联合查询频率高的字段创建索引: 3. 索引的数目不宜太多 原因:a.每创建一个索引都会占用相应的物理控件:           b.过多的索引会导致insert.update.delete语句的执行效率降低: 4.若在实际中,需要将多个列设置索引时,可以采用多列索引 如:某个表(假设表名为Student),存在多个字段(StudentNo, StudentName, Sex, Address, P…
Oracle 的索引可分为5种,它们包括唯一索引.组合索引.反向键索引.位图索引和基于函数的索引.1.创建索引的标准语法CREATE INDEX 索引名 ON 表名 (列名)TABLESPACE 表空间名;例如:CREATE INDEX idx_of_imsi ON uim_auth_file(imsi) TABLESPACE users;2.创建唯一索引CREATE unique INDEX 索引名 ON 表名 (列名)TABLESPACE 表空间名;例如:CREATE UNIQUE INDE…
1.创建索引 create index 索引名 on 表名(列名); 2.删除索引 drop index 索引名; 3.创建组合索引 create index 索引名 on 表名(列名1,,列名2);   *查看目标表中已添加的索引 * */ --在数据库中查找表名 select * from user_tables where  table_name like 'tablename%';   --查看该表的所有索引 select * from all_indexes where table_n…
1.  选择索引字段的原则: 在WHERE子句中最频繁使用的字段 联接语句中的联接字段 选择高选择性的字段(如果很少的字段拥有相同值,即有很多独特值,则选择性很好) Oracle在UNIQUE和主键字段上自动建立索引 在选择性很差的字段上建索引只有在这个字段的值分布非常倾斜的情况下才有益(在这种情况下,某一,两个字段值比其它字段值少出现很多) 不要在很少独特值的字段上建B-TREE索引,在这种情况下,你可以考虑在这些字段上建位图索引.在联机事务处理环境下,并发性非常高,索引经常被修改,所以不应该…
SQL*Loader-: Error calling once/load initialization ORA-: Table TABLE_LOG has index defined upon it. 解决方案: Parallel=false 或者 SKIP_INDEX_MAINTENANCE…
概念: 1. 类似书的目录结构 2. Oracle 的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度 3. 索引直接指向包含所查询值的行的位置,减少磁盘I/O 4. 与所索引的表是相互独立的物理结构 5. Oracle 自动使用并维护索引,插入.删除.更新表后,自动更新索引 创建: 1.自动创建 当在表中指定了primary Key或者unique约束时会自动创建唯一值索引. 2.用户创建. 用户可以创建非唯一值所在以提高在访问行时的效率. 语法: CREATE INDEX inde…