oracle创建索引
数据库索引是为了提高查询速度的一种数据结构。
索引的创建语句
索引的创建语句。
CREATE INDEX 索引名 ON 表名(列名);
除了单列索引,还可以创建包含多个列的复合索引。
CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...);
删除索引。
DROP INDEX 索引名;
查看某个表中的所有索引。
SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'
查看某个表中建立了索引的所有列。
SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名'
建立索引注意字段顺序。
索引的建立原则
1.索引应该建立在WHERE子句中经常使用的列上。如果某个大表经常使用某个字段进行查询,并且检索的啊行数小于总表行数的5%,则应该考虑在该列上建立索引。
2.对于两个表连接的字段,应该建立索引。
3.如果经常在某表的一个字段上进行Order By的话,则也应该在这个列上建立索引。
4.不应该在小表上建立索引。
索引的优缺点
索引主要是为了提高数据的查询速度,这就是索引的优点。但是当进行增删改的时候,会更新索引。因此索引越多,增删改的速度就会越慢,因为有一个维护索引的过程。创建索引之前需要权衡该字段是否经常发生增删改操作,否则可能会带来负优化的问题。
索引的优点
1.很大地提高了数据的检索速度。
2.创建唯一索引能保证数据库表中每一行数据的唯一性(唯一性约束)。
3.提高表与表之间的连接速度。
索引的缺点
1.索引需要占用物理空间。
2.当对表中的数据进行增加、删除和修改的时候,索引也要动态地进行维护,降低数据的维护速度。
关于查询优化器
当Oracle拿到SQL语句的时候,会使用查询优化器去分析该语句,并根据分析结果生成查询执行计划。也就是说,数据库是执行的查询计划,而不是SQL语句。
查询优化器有RBO(Rule-Based-Optimizer,基于规则的查询优化器)和CBO(Cost-Based-Optimizer,基于成本的查询优化器),其中基于规则的查询优化器在10g的版本中彻底消失了。原因是因为RBO最后的查询都是全表扫描,而CBO会根据统计信息选择最优的查询方案。
因此,CBO一旦发现有索引的存在,并且这个索引能帮助提高查询速度,就是使用通过索引进行查询的方法。
oracle创建索引相关推荐
- ORACLE创建索引思路
ORACLE创建索引思路 何为索引 索引是一种数据结构,是为了更快速的访问到数据. 索引是各种关系数据库系统最常见的一种逻辑单元,是关系数据库系统举足轻重的重要组成部分,对于提高检索数据速度有着至关重 ...
- oracle怎么么创建索引,Oracle 创建索引,oracle索引怎么创建
Oracle 创建索引,oracle索引怎么创建 索引是数据库服务器用来加快检索的速度,再通过加了索引的列进行检索 时候,数据库会自动使用索引,使用索引所在的列值进行快速检索,快速定位到 真实的数据内 ...
- oracle 创建索引 CREATE INDEX
CREATE INDEX -- 定义一个新索引 Synopsis CREATE [ UNIQUE ] INDEX name ON table [ USING method ]( { column | ...
- oracle 创建索引和视图
一: 创建索引有两种方式: 1. 自动添加(oracle 会为主键和唯一约束自动添加索引) 自动创建的索引是无法手动删除的,但是当删除主键约束,唯一约束时,对应的索引也会自动删除: 2. ...
- oracle创建索引占用表空间吗,oracle创建索引表空间
或者 drop tablespace 表空间名称 including contents;(表空间下有数据时候用) temporary tablespace 是 oracle 里临时表空间,临时表空间主 ...
- oracle添加索引指定表空间,Oracle 创建索引表空间语法-oracle
Oracle 的索引可分为5种,它们包括唯一索引.组合索引.反向键索引.位图索引和基于函数的索引. 1.创建索引的标准语法 以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名)T ...
- oracle创建索引表,Oracle 大表创建索引
Oracle 大表创建索引 祖仙教小凡仙 海鲨数据库架构师 有个2亿记录的表,发现需要添加一个联合索引,结果就采用普通的create index index_name on tablename (en ...
- Oracle 创建索引语法
Oracle 的索引可分为5种,它们包括唯一索引.组合索引.反向键索引.位图索引和基于函数的索引. 1.创建索引的标准语法 以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名)TA ...
- oracle在线加索引,oracle 创建索引 create index online
普通创建索引的命令create index会先锁表,然后再创建索引,如果表中数据量很大,会造成阻塞DML语句. 加了online后,可以以非独占的方式创建和删除索引. 但是加online字段有一些限制 ...
最新文章
- 使用Maven打包生成的-SNAPSHOT.jar与-RELEASE.jar分别代表什么?SNAPSHOT是什么意思?RELEASE是什么意思?
- 只知道GAN你就OUT了——VAE背后的哲学思想及数学原理
- 常见的16进制文件头
- php日志数据统计,PHP统计Nginx日志的User Agent数据
- lamp不解析php,lamp环境无法解析php环境怎么办
- 笨方法学python第四版当当_“笨办法”学Python(第3版)
- 今日头条视频去重复上传方法-网络营销推广教程 如何完美去除视频字幕和LOGO批量下载快手西瓜视频...
- 求教origin拟合蠕变柔量(burgers模型)。
- LED恒流驱动芯片NU9910用于LED舞台灯光驱动控制芯片拼对拼SMD802
- 如何使用计算机求和公式,excel求和公式怎么用
- 1.Android系统源代码目录与系统目录
- 1字符集 iso latin_附件一、ISO Latin-1字符集
- 第四批四川省工业产品绿色设计示范企业申报范围条件
- 斗破苍穹-牛仔版美杜莎
- 逆向笔记2(数据宽度_逻辑运算)
- 网络编程---TCP/UDP套接字编程原理
- 【操作系统⑧】——信号量与PV操作(下)【哲学家进餐问题 AND型信号量 信号量集机制】
- sklearn-机器学习笔记
- [React Error]: Target container is not a DOM element
- c语言for循环开机动画,android8.1开机动画启动分析
热门文章
- 【树莓派】树莓派4无痛安装系统(NOOBS篇)
- 半直接单目VO | PL-SVO:快速、鲁棒的SLAM线特征跟踪
- 魅蓝e android版本,魅蓝E的手机系统是什么
- Java面试题整理(转)
- 摸了好久,终于把linux中i2c的ioctl,write,read函数的使用弄懂了
- 2017天猫双11关键数据盘点。
- Linux查看系统中用户信息,Linux下用于查看系统当前登录用户信息的4种方法
- 无法应用转换程序。请检查指定的转换程序路径是否有效。例子:Adobe Acrobat DC (PDF编辑器)卸载不了或者无法重新安装
- win10内存占用特别高,但进程显示都不高
- 简单的一招,解决Android手机越来越慢的问题