oracle堆表和MySQL_聚簇索引对比|Oracle vs MySQL
Oracle堆组织表(heap organized table)
堆(heap)是一种得到深入研究的经典数据结构,Oracle将堆作为默认表类型(Oracle主要表类型有9种)。
“堆”是一组空间,在数据存储方面以某种随机方式被使用,数据可以存放在任何位置上。
Oracle索引组织表(index organized table/IOT)
以B*Tree结构存储,在组织数据时强制要求数据行有某种物理顺序,数据按照索引结构存储,通常根据主键有序存储在IOT中。
如:以用户ID为键将用户多个收货地址,安排到相邻物理位置上。
这样,一个用户所有收货地址都存储在一起,不会被随机安排在磁盘各个位置上。
Oracle聚簇索引
Oracle聚簇索引中聚簇是指:如果一组表有一些共同列,则将这组表存储在相同数据块中。
也就是说:聚簇是将一组表相关列上数据存储在同一块中,若一个块不能完成存储就用多个块。
如此,一组表中相关联列在物理上已经联在一起了(“预连接”),聚簇也可用于单个表。
Oracle中聚簇不是为了有序存储数据(这是IOT的工作),它是按某个键以聚簇方式存储数据。
如:在多个表关联查询中,表之间在物理上已经存在关联(“预连接”),查询效率会得到提升。
对关联查询操作很有帮助。
这是Oracle索引组织表(IOT)与聚簇索引的区别。
MySQL聚簇索引(innodb)
Mysql聚簇索引通常以主键为索引列,Mysql聚簇索引相当于Oracle中索引组织表。
Mysql聚簇索引将数据存放在B*Tree叶节点上,直接读取数据。
MySQL非聚簇索引B*Tree叶节点上,存放指向数据行指针。
MySQL聚簇索引不仅仅是一种索引类型,也是一种数据存储方式。
将相关数据安排在一起减少磁盘I/O,数据与索引都存放在B-Tree结构中。
oracle堆表和MySQL_聚簇索引对比|Oracle vs MySQL相关推荐
- linux oracle 创建表空间2016,Linux下Oracle表空间及用户创建
记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@i ...
- oracle数据表空间与数据文件,oracle 操作表空间和数据文件
产生表空间一般都是DBA或特权用户来完成的,如果要以其他的身份来产生,这个用户必须由Create tablespace权限才行.产生一个表空间时,一般需要产生一个数据文件,并确定文件的大小和段的大小. ...
- 详解oracle多种表连接方式,详解Oracle多种表连接方式
ORACLE 多表连接与子查询 连接的类型 Oracle8i之前的表连接: 等值连接(Equijoin) 非等值连接(Non-Equijoin) 外连接(Outer join):-->左外连接- ...
- excel导入oracle数据表,Excel数据导入到Oracle表
Excel数据通过plsql导入到Oracle2012-10-22 00:00比特网悠虎 关键字:Oracle Excel数据通过plsql导入到Oracle 1 准备Excel导入数据 2 把Exc ...
- oracle 两表去除重复的数据,Oracle数据库删除两表中相同数据的方法
在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法. 软件环境: 1.Windows NT4.0+ORACLE 8.0.4. 2.Oracle安装 ...
- oracle 两表两列数据对比_Oracle、PostgreSQL与Mysql数据写入性能对比
最近因为工作需要,需要对Oracle和Mysql写入性能进行对比,以前都是听说Mysql性能比Oracle不是一个级别,现在亲测后,不比不知道,一比吓一跳... 追加PostgreSql性能测试数据 ...
- oracle 两表两列数据对比_当表中的列数不同时,如何比较oracle中的两个表
INTRO:下面我将展示如何做到"手工"这些工具(例如SQL Developer)可以做得更快更好.我对此(和你的!)的兴趣是双重的:学习和使用一些可以帮助解决许多其他问题的想法; ...
- oracle 两表两列数据对比_【SQL】根据两列信息,整合两张表数据
两张表数据如下: --2017年 id college score A001 北京大学 670 A002 中国人民大学 646 A003 清华大学 664 A003 清华大学 (定向) ...
- oracle数据表空间与数据文件,oracle的表空间及数据文件
一.默认表空间 Oracle 安装时会自动创建几个默认表空间,可以在 dba_tablespaces 这张表查看到默认表空间 : 说明: SYSTEM:管理任何其他表空间.它包含数据字典,有关数据库管 ...
最新文章
- 随机森林为何要有放回抽样
- AI初创企业“考拉悠然”获3000万融资
- 一些有用的Python库
- 笔记-项目合同管理-索赔的处理
- 一本介绍Javascript 的很好的书【基础期间全局了解】
- 语言设计谁年龄大_这桌子谁设计的?脑洞够大,除能360°翻转,打台球,乒乓球都行...
- 文献记录(part#)--Automatic diagnosis of ECG disease based on intelligent simulation modeling
- 15、java中的集合(2)
- HBase原理 – snapshot 快照
- mysql 5.7.6 5.7.19_免编译安装mysql 5.7.19
- 条款4:确定对象在使用前已被初始化
- 直接学python3_新手应该学python2还是python3?
- SQL每日学习——insert into语句
- 海盗分金问题 冲突分析—非合作博弈
- svnserver 重新启动
- nodejs爬虫获取漫威超级英雄电影海报
- 【22/04】Chrome 里的请求报错 “CAUTION: Provisional headers are shown“ 是什么意思?
- 卸载 make install 编译安装的软件
- 浏览器有哪些进程?浏览器进程,渲染进程,网络进程,渲染进程有哪些线程?
- 远程工具之一---rsync用法介绍