mysql和oracle的索引类型
**
索引
mysql索引:
**
单列索引(普通索引,唯一索引,主键索引)、组合索引、全文索引、空间索引
(1)单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。
(2)普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。
(3)唯一索引:索引列中的值必须是唯一的,但是允许为空值。
(4) 主键索引:是一种特殊的唯一索引,不允许有空值。
(5)组合索引:在表中的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用,使用组合索引时遵循最左前缀集合。
(6)全文索引,只有在MyISAM引擎上才能使用,只能CHAR,VARCHAR,TEXT类型字段上使用全文索引,介绍了要求,说说什么是全文索引,就是在一堆文字中,通过其中的某个关键字等,就能找到该字段所属的记录行,比如有"你是个小可爱,二货 …" 通过小可爱,可能就可以找到该条记录。主要针对模糊查询
(7)空间索引:空间索引是对空间数据类型的字段建立的索引,MySQL中的空间数据类型有四种,GEOMETRY、POINT、LINESTRING、POLYGON。在创建空间索引时,使用SPATIAL关键字。要求,引擎为MyISAM,创建空间索引的列,必须将其声明为NOT NULL。
oracle索引
(1)唯一索引: 唯一索引确保在定义索引的列中没有重复值, Oracle 自动在表的主键列上创建唯一索引
语法:create unique index index_name on table_name (column_name);
具体列值: 索引相关列上的值必须唯一,但可以不限制NULL值。
(2)组合索引: 组合索引是在表的多个列上创建的索引,索引中列的顺序是任意的, 如果 SQL 语句的 WHERE 子句中引用了组合索引的所有列或大多数列,则可以提高检索速度
语法:create index index_name on table_name (column_name1,column_name2);
具体列值:该表中的元组由两列共同确定一行,例如班级号 学号 唯一确定一个学生。
(3)反向键索引:
反向键索引反转索引列键值的每个字节,为了实现索引的均匀分配,避免b树不平衡,通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上,创建索引时使用REVERSE关键字
语法:create index index_name on table_name (column_name) reverse;
具体列值: 适用于某列值前面相同,后几位不同的情况,例如
sno: 1001 1002 1003 1004 1005 1006 1007
索引转化:1001 2001 3001 4001 5001 6001 7001
(4)位图索引:
位图索引适合创建在低基数列上
位图索引不直接存储ROWID,而是存储字节位到ROWID的映射
节省空间占用
如果索引列被经常更新的话,不适合建立位图索引
总体来说,位图索引适合于数据仓库中,不适合OLTP中
语法:create bitmap index index_name on table_name (column_name);
具体列值: 不适用于经常更新的列,适用于条目多但取值类别少的列,例如性别列。
(5)基于函数的索引:
基于一个或多个列上的函数或表达式创建的索引
表达式中不能出现聚合函数
不能在LOB类型的列上创建
mysql和oracle的索引类型相关推荐
- mysql的四种索引类型
一.索引的类型 mysql索引的四种类型:主键索引.唯一索引.普通索引和全文索引.通过给字段添加索引可以提高数据的读取速度,提高项目的并 ...
- 如何获得Oracle分区索引类型
碰巧在墨天轮上看资料就看到了eygle的这篇文章<如何获得 Oracle 分区索引的类型 - 全局分区索引.本地分区索引>,秉承了eygle大神一如既往的风格,文章"短小&quo ...
- oracle的索引类型
Oracle 支持多种索引类型,包括: B-tree 索引: 最常用的索引类型,适用于大多数情况,可以支持等值查询和范围查询. Bitmap 索引: 适用于支持多列查询的大数据集,效率比 B-tree ...
- MYSQL数据库四种索引类型的简单使用
MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述: (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制.它有以下几种创建方式: 创建索引 ...
- mysql fulltext 排序_mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的区别
Normal 普通索引 > 表示普通索引,大多数情况下都可以使用 Unique 唯一索引 > 表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uni ...
- Mysql数据表的索引类型(亲测)
一.索引 1.1 索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址). 使用索引后可以不用扫描全表来定位 ...
- MySQL-数据库的索引类型有哪些
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net 使用索引可以大大提高MySQL的检索速度,但是也会降 ...
- mysql匹配数据结构_MySQL索引背后的数据结构及原理
前两天经历了武汉一行腾讯面试,数据库索引是一个面试热点,在此搜集相关资料,以备学习之用. 下面是一位牛人写得关于数据库索引的精品之作,因为很好,不敢修饰,转载至此与博友共享. 本文以MySQL数据库为 ...
- mysql和oracle的通用存储,MySQL与Oracle在使用上的一些区别
1.mysql与oracle数据库实现自增列的区别: mysql可以实现自增列,只要在建表时设置auto_increment即可,而oracle在建表时不能设置自增列功能, 必须通过sequence序 ...
- 谈谈数据库MySQL和Oracle
数据库 MySQL和Oracle 区别? 类型的区别: sql查询语句的区别: 空字符串问题 Double.decimal和float的区别 [MYSQL]金额(金钱)相关的数据存储类型 sql常用语 ...
最新文章
- C++中的空类与空结构体大小
- mysql怎么创建自动作业_mysql 让一个存储过程定时作业的代码
- GitHub开源项目 - Jeecg-Boot开始开发平台介绍
- 最小的linux内核代码,带你阅读linux内核源码:下载源码、编译内核并运行一个最小系统...
- Activity 的启动模式
- HIVE中常见文件存储格式比较
- pcs7服务器没有报警信息,PCS7服务器报警重启(工程师培训).pdf
- html中怎样设置放大功能,CSS如何设置图片放大效果?
- “24岁,一门手艺,年入百万”:真正厉害的人,都做到了这4件事
- C2Prog 串口烧录出现Connecting with target… failed(no response)!
- 候选码、主码、外码、全码、超码
- 【微信小程序】video视频(77/100)
- 高中时候想的一个脑洞大开的故事
- 计算机桌面输入法怎么恢复,电脑桌面系统输入法不见了?输入法不见了找回方法/步骤...
- linux ruby 删除文件,ruby 删除文件夹(包括文件夹中的文件夹和文件)
- 视觉设计师提升自己能力的17条经验(上)
- 数据分析 时间序列分析 概述
- React Native-9.React Native Touchable组件详解
- Vatti clipping 算法介绍
- 八式八段锦,动图指导
热门文章
- 基于Matlab的表面肌电信号处理软件设计与开发
- 秋名山直播php源码,【斗鱼直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)...
- 年度最骚语言之文言文编程!!!
- 数据结构课程设计:基于有序表的仓库管理系统
- Abaqus单位制简述
- win10读取linux硬盘,win10怎么读取lxext4格式硬盘
- 解决andr_Android和iPhone浏览器大战,第2部分,为iPhone和Android构建基于浏览器的应用程序
- 【Ubuntu】USB 摄像头测试工具
- 数据挖掘原理与算法_【干货】UIUC韩家炜老师2020年新课:CS512 数据挖掘:原理与算法,附PPT...
- 使用boston房价数据进行线性回归分析