oracle唯一索引与普通索引的区别和联系以及using index用法
oracle唯一索引与普通索引的区别和联系
区别:唯一索引unique index和一般索引normal index最大的差异是在索引列上增加一层唯一约束。添加唯一索引的数据列可以为空,但是只要尊在数据值,就必须是唯一的。
联系:1)unique index就是额外添加唯一性的约束。该约束严格的保证索引列的取值是唯一的,这在一些数据列上的业务约束是很重要的功能。比如一个数据列,不能作为主键,而且允许为空,但是业务上要求唯一特性,这个时候用唯一性索引就是最好的旋转。2)性能上两者并无很大区别。
using index用法:
create primary key …. Using index :创建主键的时候同时将其设为索引,名称与主键名称相同。
在9i之后,在创建一个PK的时候,会自动创建一个与之对应的唯一索引。(因为某个字段如果被设置为Unique便会自动被设为索引)。如果不特别指定,这个索引的表空间和表的表空间是一样的,但是不建议将两者放在一起。
一般语句格式:
Create table test(name varchar(10)); Alter table test add primary key(name) tablespace tablespace1;
以上的处理方式有两个不好的地方,第一是无法指定索引的名称,第二无法指定索引存放的表空间。为了避免这种错误,最后按照以下方式来定义表格与表空间。
Create table test_uid(name varchar(10), Constraint test_uid_pk primary key(name) using index ( create unique index uid_test_uid on test_uid(name) tablespace tablespace2);
当然也可以部分处理。
Create table testone (name varchar(10 char)) tablespace1; Alter table testone add constraint pk_testine1 primary key(name) using index tablespace tablespace2;
作为一个好习惯,不要把索引和表格的数据放在同一个表空间。
一般索引单独建一个表空间。
---------
本系列为最近一段时间学习oracle的学习笔记,记录于此作为自身回顾,其中有的来的网络,有的来的书籍,但时间已久,记不清哪些是引用,如是转载但没标注出,特意致歉。
oracle唯一索引与普通索引的区别和联系以及using index用法的更多相关文章
- Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- mysql,sql server,oracle 唯一索引字段是否允许出现多个 null 值?
最近一个项目,涉及到sql server 2008,因为业务需求,希望建立一个唯一索引,但是发现在sql server中,唯一索引字段不能出现多个null值,下面是报错信息: CREATE UNIQU ...
- oracle的约束隐式创建索引和先索引后约束的区别
oracle的约束隐式创建索引和先索引后约束的区别 两种情况:1.对于创建约束时隐式创建的索引,在做删除操作的时候: 9i~11g都会连带删除该索引 2.对于先创建索引,再创建约束(使用到此索引)这种 ...
- Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别
Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要 ...
- Mysql主键索引、唯一索引、普通索引、全文索引、组合索引的区别
原文:Mysql主键索引.唯一索引.普通索引.全文索引.组合索引的区别 Mysql索引概念: 说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不 ...
- mysql索引之一:索引基础(B-Tree索引、哈希索引、聚簇索引、全文(Full-text)索引区别)(唯一索引、最左前缀索引、前缀索引、多列索引)
没有索引时mysql是如何查询到数据的 索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储10 ...
- Oracle 唯一 索引 约束 创建 删除
http://www.blogjava.net/lukangping/articles/340683.html/*给创建bitmap index分配的内存空间参数,以加速建索引*/ show para ...
- Oracle 唯一 约束(unique constraint) 与 索引(index) 关系说明
一. 官网对Unique Constraints说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datainte.h ...
- 面试|简单描述MySQL中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针. 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的 ...
随机推荐
- macOS 安装 wget
适用于macOS Sierra Apple Store下载安装Xcode 安装Homebrew包管理,类似于Ubuntu下的apt-get: 终端下输入 ruby -e "$(curl -f ...
- 在数据库中如果组合主键(假设为stuID和stuName)存在则更新,不存在则新增
这是今天在项目中遇到的问题,后来查了一下,有的网友说可以用存储过程,但自己现在还不会用,所以下记载下来,做为学习存贮过程的引子. 现在是在java中实现了这个if的逻辑,
- bzoj1042: [HAOI2008]硬币购物
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...
- UVa 11384 Help is needed for Dexter
分析题目以后得出,对于一个连续等差递增的序列,例如1,2,3,4,5,6,每次选择其中后一半,减去能减的最大数,则是最优操作. 上述序列经过一次操作后变为1,2,3,0,1,2,此时可抛弃后一半(已经 ...
- HDU 5816 Hearthstone
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Descript ...
- POJ 2431 Expedition(优先队列、贪心)
题目链接: 传送门 Expedition Time Limit: 1000MS Memory Limit: 65536K 题目描述 驾驶一辆卡车行驶L单位距离.最开始有P单位的汽油.卡车每开1 ...
- 【Beta】Scrum02
Info *由于28日大家事情比较多,推迟了一天 时间:2016.11.29 21:30 时长:10min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 NXT:2016.12.01 21: ...
- js常用函数、书写可读性的js、js变量声明...
1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join(separator) 函数 ...
- 模拟退火解决TSP问题
// monituihuo.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> #includ ...
- base64 convert to file
var fs= require('fs') var imageFile = dataUrl.replace(/^data:image\/\w+;base64,/, ""); var ...