oracle索引和主键同名,oracle主键和索引

主键:

能够唯一标识一条记录的字段为主键(亦或主码),不能重复的,不允许为空。

作用:用来保证数据完整性

个数:主键只能有一个

索引:

作用:是提高查询排序的速度

个数:一个表可以有多个索引

常用索引类型:

Non-unique(非唯一索引,常用)

Unique(唯一索引,该字段没有重复值,但可以有一个空值)

Bitmap(位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况)

建立索引的优点:

1. 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

2. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

3. 可以加速表和表之间的连接。

4. 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

索引有一些先天不足:

1. 建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引(现在硬盘和内存的空间都很大,此问题可以忽略)。

2. 更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性(建立索引的查询的效率会大大提高,建立索引的性价比高)。

使用原则:

1. 在大表上建立索引才有意义。

2. 在where子句或是连接条件上经常使用的列上建立索引,很少或从不引用的字段不建索引。

3. 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。

4. 复合索引的几个字段是否经常同时以AND方式出现在Where子句中,单字段查询极少甚至没有,将这多个字段建立复合索引。

5. 如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引。

6. 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引。

7. 逻辑型的字段,如男或女(是或否)等,不建立索引。

索引失效情况:

1. != 将不使用索引,索引只能告诉你什么存在于表中, 而不能告诉你什么不存在于表中。

2. ||是字符连接函数. 就象其他函数那样,停用了索引。

3. + 是数学函数. 就象其他数学函数那样,停用了索引。

4. like "%_" 百分号在前时,停用了索引。

5. 字符型字段为数字时在where条件里不添加引号时,停用了索引。

6. 单独的>,

7. not in ,not exist。

Oracle基础维护02-表、主键、索引、表结构维护手册

目录 一.项目新建表.主键.索引注意事项 二.举例说明建表.主建.索引的操作方法 2.1 设定需求如下 2.1.1 查询数据库有哪些表空间 2.1.2 本文档假设数据库有这两个业务用户的表空间 2.2 ...

Oracle 添加主键和索引

数据的主键和索引一般情况下都是必须的,特别是表有大量数据的时候,索引和主键更是必不可少,这样可以提供数据的查询效率: 一.创建表的同时创建主键约束 (1)无命名 create table studen ...

Oracle外键不加索引会引起死锁问题

转载链接:http://www.jb51.net/article/50161.htm 这篇文章主要介绍了Oracle外键不加索引引起死锁的情况及解决,需要的朋友可以参考下 --创建一个表,此表作为子表 ...

删除表空间的时候遇到的问题:ORA-02429: 无法删除用于强制唯一/主键的索引

今天打算删除orcale数据库中无用的表空间,发现报错,查资料删除,写个过程留着备用.1.drop tablespace dldata INCLUDING CONTENTS CASCADE CONST ...

ora-02429:无法删除用于强制唯一/主键的索引

今天打算删除orcale数据库中无用的表空间,发现报错,查资料删除,写个过程留着备用. 1.drop tablespace dldata INCLUDING CONTENTS CASCADE CONS ...

oracle主键自增

oracle主键自增 1建立数据表 create table Test_Increase(            userid number(10) primary key,  /*主键,自动增加*/ ...

SQL语句新建表,同时添加主键、索引、约束

SQL语句新建数据表   主键,索引,约束 CREATE TABLE [dbo].[T_SendInsideMessageRec]( [SendInsideMID] [uniqueidentifier ...

oracle 主键应用序列和触发器实现自动增长

oracle 主键自动增长 这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create table simon_example ( id number(4) not null pr ...

oracle 主键自动增长

oracle 主键自动增长 2009-12-11 16:07:00|  分类: 数据库资料|字号 订阅     这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...

随机推荐

【代码笔记】iOS-翻页效果的实现

一,效果图. 二,工程图. 三,代码. RootViewController.h #import @interface RootViewController ...

[转]Hibernate update和saveOrUpdate详解

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值