Flyway——Oracle创建前缀索引

文章目录

前言

索引有助于提升数据库表的查询速率,极大的缩减查询的时间。但索引的创建需要考虑的因素很多,并非索引越多越好!

创建一般索引的语法

oracle创建一般的常见索引,语法如下所示:

摘录于:努力的小羽儿------oracle创建索引

sql 复制代码
--创建索引
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 = '表名'

前缀索引

前缀索引这个词在Mysql中出现的比较多,在oracle中也能创建类似的索引。

索引的创建,会让数据库额外维护一个对应的索引B+树。

如果索引的字段很大,将导致创建索引B+树的大小越大。

如果又想对大数据字段加索引,又想不占用太多的内存,则可以采取前缀索引

创建可执行脚本,案例如下所示:

sql 复制代码
-- 增加 IMES_INDICATOR_CALCLOG 前缀索引
DECLARE
  CNT INTEGER;
BEGIN
   select COUNT(0)
    INTO CNT
    from user_indexes
    where table_name = upper('IMES_INDICATOR_CALCLOG')
    and index_name = upper('logid_index');

  IF CNT = 0 THEN
    EXECUTE IMMEDIATE 'create index logid_index on IMES_INDICATOR_CALCLOG left(logid,12)';
  END IF;
END;
/

IMES_INDICATOR_CALCLOG中的logid是一个uuid的数据,增加前缀索引,则使用到了LEFT函数。

相关推荐
养生技术人1 小时前
Oracle OCP认证考试题目详解082系列第48题
运维·数据库·sql·oracle·database·开闭原则·ocp
一條狗2 小时前
学习日报 20251007|深度解析:基于 Guava LoadingCache 的优惠券模板缓存设计与实现
java·oracle·loadingcache
杨云龙UP4 小时前
小工具大体验:rlwrap加持下的Oracle/MySQL/SQL Server命令行交互
运维·服务器·数据库·sql·mysql·oracle·sqlserver
他们叫我技术总监1 天前
Oracle数据库常见问题实战:从连接错误到自动清理空闲会话
数据库·oracle
一只小bit1 天前
MySQL表的操作:创建—修改—删除流程解析
数据库·mysql·oracle
养生技术人2 天前
Oracle OCP认证考试题目详解082系列第45题
运维·数据库·sql·oracle·开闭原则·ocp
倔强的石头1062 天前
【金仓数据库】ksql 指南(一) 连接本地 KingbaseES 数据库与基础交互
数据库·oracle·kingbasees·金仓数据库·ksql
养生技术人3 天前
Oracle OCP认证考试题目详解082系列第54题
数据库·sql·oracle·运维开发·database·开闭原则·ocp
krielwus3 天前
Oracle 11g R2 物理冷备
数据库·oracle
养生技术人3 天前
Oracle OCP认证考试题目详解082系列第50题
运维·数据库·sql·oracle·database·开闭原则