首页 > 数据库 >Oracle 创建索引

Oracle 创建索引

时间:2023-03-24 20:34:32浏览次数:41  
标签:index -- 创建 列名 索引 表名 Oracle create

创建索引一般分为在线索引和非在线索引,在线与非在线的区别:非在线锁表,优先创建索引,此时DML都被阻塞,所以快;相反,在线锁的是行而非表,通过临时表进行索引的创建,所以不会影响DML操作,但副作用就是慢。
如果在生产环境操作,不停服务的话,势必导致创建索引期间仍有DML操作进来。另外如果是大表,那么采用非在线而导致锁表所带来的影响可能会很大。一句话,生产环境不停服的脚本操作,建议使用online。
1、创建索引。

create index IX_CELL_SC_BOX_CONTAINER_C1 on CELL_SC_BOX_CONTAINER (CREATE_TIME, CARRIER_ID, LOAD_ID, LOAD_STATUS, FACILITY_RRN) tablespace TBS_MY_INDEX
pctfree 10
initrans 2
maxtrans 255;

2、创建在线索引。

 create index indx_user_info on user_info(user_id, user_name) online tablespace TBS_MY_INDEX ;

3、删除索引。

DROP INDEX 索引名;

4、查看某个表的索引,表名需大写。

SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'

5、查看某个表哪些列有索引。

SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名'

如果在where 子句中有OR 操作符或单独引用复合索引列的后面列则将不会走索引,将会进行全表扫描。

6、基本用法汇总。

--创建索引
CREATE [UNIQUE] INDEX <索引名>
ON <基本表名> (<列名> [<次序>],[,<列名> [<次序>]]…); 
--说明:
--UNIQUE:规定索引的每一个索引值只对应于表中的唯一记录。
--<次序>:建立索引时指定列名的索引表是ASC(升序)或DESC(降序)。
 
--索引的创建语句(简洁)
create index 索引名 on 表名(列名);
 
--标准语法
create index 索引名 on 表名(列名) tablespace 表空间名;
 
--tablespace 表空间名 可以省略,以下皆省略
 
--创建唯一索引
create unique index 索引名 on 表名(列名);
 
--复合索引/组合索引
create index 索引名 on 表名(列名1, 列名2, 列名3, ...);
 
--反向键索引
create index 索引名 on 表名(列名) reverse;
 
--删除索引
drop index 索引名 on 表名;
 
--降序索引​
​CREATE INDEX 索引名 ON 表名(列名 desc) ;  --升序asc
 
--查看某个表中的所有索引
select * from all_indexes where table_name = '表名'
 
--查看某个表中建立了索引的所有列
​select * from all_ind_columns where table_name = '表名' ​

 

标签:index,--,创建,列名,索引,表名,Oracle,create
From: https://www.cnblogs.com/lgx5/p/17253243.html

相关文章

  • oracle创建DBLink
    databaselink是定义一个数据库到另一个数据库的路径的对象,databaselink允许你查询远程表及执行远程程序。Createdatabaselink:createpublicdatabaselinktestDbli......
  • 创建对象的底层分析
    Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中......
  • Vue3+vite项目中如何动态导入并创建多个全局组件
    背景实际开发项目中,有些时候我们需要通过全局注册多个自定义组件,但是每个组件都导入一次,将会导致代码很冗余。实现方案customComponents/index.jsconstfiles=impor......
  • 微服务 初始 分布式搜索引擎 Elastic Search
    文章目录⛄引言一、什么是ElasticSearch?二、ElasticSearch倒排索引⛅正向索引⚡倒排索引⛄正向和倒排三、ES的一些概念⛅文档和字段⚡索引和映射四、MySQL与Elasticsea......
  • oracle数据库表索引空间不够
    oracle数据库表索引空间不够步骤1:检查索引空间使用情况首先,需要检查数据库的索引空间使用情况,以确定是否存在空间不足的问题。可以使用以下SQL语句查询当前索引空间的使......
  • vue-cli 初始化创建 vue2.9.6 项目路由守卫、封装axios、vuex
    阅读目录Vue如何封装Axios请求1安装axios2封装代码axios应用方式Vue中的路由守卫使用演示1全局守卫2组件级守卫3单个路由独享的守卫4官网整个路由守卫被触发流程的......
  • vue-cli 初始化创建 vue2.9.6 项目
    阅读目录vue-cli安装vue-cli初始化创建项目1、vueinit命令讲解2、初始化创建项目package.json项目结构1、build目录(webpack配置)2、config目录(vue项目配置目录)3、node_mod......
  • 进程的创建过程
    创建进程共有六个阶段:I:打开目标映像文件Ⅱ:创建Windows的(内核)管理层进程对象,即“进程控制块”EPROCESS数据结构及相应的句柄Ⅲ:创建该进程的初始(第一个)线程,包括其堆栈、上......
  • 用python创建文件data.txt,共100行,每行循环存放一个1~100之间的整数。
      1list1=[]2f=open('data.txt',mode='a',encoding='utf-8')3withopen('data.txt',mode='a',encoding='utf-8'):4forrrrinrange(1,101):......
  • NavicatPremium12连接Oracle11g报ORA-28547错误
    使用NavicatPremium12连接oracle11g数据库时报ORA-28547错误这是因为Navicat自带的oci.dll并不支持oracle11g,需要去官网下载支持的版本。先用你的IDEA或者别人的连接到o......