1 行迁移的原因
啥是“行迁移”,Oracle的数据按照块保存,如果一块数据磁盘空间无法保存某个数据时(比如以前是1K,现在update到2K,而当前块的空闲空间不足1K),则会将新的数据保存到另外一个新的块里,然后在以前的块保存一个新位置的地址连接。
比如
数据都保存在一个块里面,中间有2块的空闲空间,现在第四行数据要扩容。发现单块的空闲空间不足,则评估合并的空闲空间是否满足
评估合并后的空闲空间依然不满足空间要求,则此时发生“行迁移”
在一个新的块保存了新的第四行数据,然后在原始块保存了新地址的连接。这就是行迁移的过程。
2 行迁移有什么影响呢?
如果你通过一个索引来读这一行,索引会指向原来的块,那个块再指向这个新块。要得到具体的行数据,一般并不是执行两个左右的I/O 就可以得到行数据。单独来看,这不是大问题,甚至根本注意不到。不过,如果这种行所占的比例相当大,而且有大量用户在访问这些行,你就会注意到这种副作用了。访问这些数据的速度开始变慢(额外的I/O 以及与I/O 相关的闩定都会增加访问时间),缓冲区缓存的效率开始下降(需要缓存两个块,而如果行没有迁移就只需要缓存一个块),另外表的大小好复杂性都有所增加。由于这些原因,你可能不希望迁移行。
3 总结
行迁移不能避免,增加每个块的大小可以减少行迁移的可能行,但也会造成更大的空间浪费。这个平衡点需要根据应用不同进行确定。
转于:http://oracle.chinaitlab.com/exploiture/797757.html
- 大小: 35.9 KB
- 大小: 33.1 KB
- 大小: 57 KB
分享到:
相关推荐
这些处理器具有先进的功能特点和简单易用的编程模型,对于想从8051微控制器迁移到ARM架构的开发人员来说,极具吸引力。本文是一篇入门指南,目的是帮助8051微控制器的开发人员了解8051和A R M Cor tex-M处理器系列在...
您可以在上面的链接中了解有关NEAR EVM的更多信息。 简而言之,它是结合到NEAR中的以太坊虚拟机(EVM)的实现。 这意味着开发人员可以通过编译现有的以太坊合约并将其部署到NEAR区块链中来保留现有投资。 这可以...
本书号称『高速上手』,从内容上对二十一世纪二十年代之前产生C++的相关特性做了非常相对全面的介绍,读者可以自行根据下面的目录选取感兴趣的内容进行学习,快速熟悉需要了解的内容。这些特性并不需要全部掌握,只...
为现有的 MYSQL 数据库创建 Laravel 5 迁移这是我为个人使用而编写的一个简单而有用的 php 脚本,并决定分享。 它不是 Xethron/migrations-generator ( ) 的替代品,但它是一种等待 Xethron/migrations-generator 与...
这些处理器具有先进的功能特点和简单易用的编程模型,对于想从8051微控制器迁移到ARM架构的开发人员来说,极具吸引力。本文是一篇入门指南,目的是帮助8051微控制器的开发人员了解8051和A R M Cor tex-M处理器系列在...
04硬盘的分区方案简单介绍t了解】mp4 05硬盘的接口类型介绍【了解】mp4 06fdsk工具对硬盘分区mp4 07磁盘分区过程+挂裁使用mp4 08分区总结mp4: 09手动挂载 mount命令使用mp4 10开机自动挂载mp4 11 autofs实现自动挂载...
Grunt数据库迁移 使用Grunt将数据库从一个位置推/拉到另一个位置。 受启发。 起初计划作为fork,但后来我了解到我想要的不仅仅是推/拉mysql数据库。 重要说明:此插件的作者对由于使用此脚本而导致的任何操作不承担...
这些处理器具有先进的功能特点和简单易用的编程模型,对于想从8051微控制器迁移到ARM架构的开发人员来说,极具吸引力。本文是一篇入门指南,目的是帮助8051微控制器的开发人员了解8051和A R M Cor tex-M处理器系列在...
laravel 提供了很实用的 Eloquent ORM 模型类,简单、直观的与数据库...同时使用数据迁移管理数据库,可以与团队进行共享以及编辑,本文详细的介绍了laravel 数据迁移与 Eloquent ORM的实现方法,感兴趣的可以了解一下
迁移不影响现有的业务系统 迁移要求简单,高效,兼容性好 针对不同的用户场景,AWS有不同的迁移方案和工具。CloudEndure迁移工具能够很好地满足在线迁移和简单易用的特点。CloudEndure是一个PAAS级的基于块复制的...
这篇文章对那些还没有安装或...不过我不打算在这里讲述其中的任何一个部分,我的目的是帮助你们了解为什么我们要选择TFS,以及如何使用它。如果你是VSS的用户, 在今后的文章中,我会讲述如何将VSS数据库迁移到TFS上。
学习动态代码加载 (DCL) 我们最近设计并实现了一个新的 Android 库,它简化了依赖动态代码加载(DCL) 的 Android 应用程序的正确实现。 通过这个实验,我们想确定我们的工作是否真的对 Android 开发者有帮助!...
前言 应用在Django的项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型. 一 创建应用程序 ...保存数据迁移的中间文件 __inti__.py 应用子包的初始化文件 admin.py 应用的后台
了解数据库迁移,关系 了解刀片模板引擎功能 了解使用Laravel Mix进行的Web UI开发:使用Bootstrap CSS,Sass,javaScript / jQuery,Webpack 了解如何组织代码源 了解Laravel的网络路线 其他一些事情-如果您可以...
很简单,因为我不了解Ruby,而且我也找不到Python的替代产品,它对我来说很容易编辑。 库萨(Kusa)不到1k行,这对我来说很容易添加新功能。 设置 将此仓库克隆到您喜欢的任何地方并运行: python setup.py ...
MySQL Workbench 现在为将 Microsoft SQL Server、Sybase ASE、PostreSQL 及其他 RDBMS 表、对象和数据迁移至 MySQL 提供了一个全面、简单易用的解决方案。开发人员和 DBA 可以轻松、快速地转换现有应用,使其可运行...
这是一个简单的函数,用于将 Konrad 等人,2018 年的接地线后退/前进数据导入 Matlab。 数据包含在此 zip 文件中。 检查上面的示例选项卡以了解该函数的工作原理。 参考: 康拉德、谢泼德、吉尔伯特、霍格、麦克...
2. 云数据中心中运维的一些基本知识,并简单 介绍了云数据中心运维的工作内容 3. 迁移的背景, 概述,评估,方案的设计与实施以及最后的调优与验收五大 方面阐述迁移实施的基本流程。4. 掌握云计算的基础故障处理 ...
ETL对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,了解并掌握一种etl工具的使用,必不可少,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测...
了解如何在Laravel中构建实时应用程序 这是一个简单的项目,用于演示如何使用Laravel和或构建实时应用程序。 这是一个聊天应用程序,可以实时执行以下操作 用户上线时通知已连接的用户 向其他用户广播消息 显示谁在...