授予或撤销碎片的权限 如果您希望授予有用的碎片权限,您必须有一种战略来控制数据分布。一种有效的战略是按表达式来将数据记录碎片化。但是,round-robin 数据记录分布战略没有用,因为每个新数据记录都会被添加到下一个碎片中。round-robin 分布会清空任何
授予或撤销碎片的权限
如果您希望授予有用的碎片权限,您必须有一种战略来控制数据分布。一种有效的战略是按表达式来将数据记录碎片化。但是,round-robin 数据记录分布战略没有用,因为每个新数据记录都会被添加到下一个碎片中。round-robin 分布会清空任何跟踪数据分布的任何干净方法,进而消除对碎片授权的真正使用。出于基于表达式分布和 round-robin 分布之间的这一区别,GRANT FRAGMENT 和 REVOKE FRAGMENT 语句仅适用于具有基于表达式碎片的表。
当创建碎片表时,不存在默认的碎片授权。使用 GRANT FRAGMENT 语句在一个或多个碎片上授予插入、更新和删除权限。如果希望同时授予所有 3 种权限,可使用 GRANT FRAGMENT 语句的 ALL 关键字。请记住,不能仅通过命名包含碎片的表来授予碎片权限。您必须命名特定的语句。
当您希望撤销插入、更新或删除权限时,可以使用 REVOKE FRAGMENT 语句。此语句会撤销一个或多个用户针对碎片表的一个或多个碎片的权限。如果希望撤销一个表中当前存在的所有权限,可使用 ALL 关键字。如果不在命令中指定任何碎片,撤销的权限将适用于表中当前拥有该权限的所有碎片。
附加或分离碎片
您可以使用 ALTER FRAGMENT ATTACH 和 DETACH 语句来执行碎片操作。ALTER FRAGMENT ATTACH 提供了一种方式来组合两个未碎片化的表或向碎片表中添加碎片。ALTER FRAGMENT DETACH 提供了一种方式来删除一个碎片表的碎片。
ATTACH
使用 ALTER FRAGMENT ON TABLE 语句的 ATTACH 子句来将具有相同结构的表组合到一个碎片战略中。该子句还提供了一种方式,通过利用碎片技术来将大量数据增量地加载到一个现有的表中。
您附加的任何表都必须已在独立的分区中创建。不能多次附加同一个表。ATTACH 子句中列出的所有使用表必须具有与幸存的表相同的结构。列的数量、名称、数据类型和相对位置必须相同。
用户定义的例程以及对一个 ROW 类型列的字段的引用是无效的。不能将一个碎片表附加到另一个碎片表。
所有存储碎片的 dbspace 都必须具有相同的页面大小。
在两个未碎片化的表上执行 ATTACH 操作不能生成一个按间隔或按列表碎片化的幸存表。(如果希望附加两个未碎片化的表,您可使用 ALTER FRAGMENT 语句的 INIT 选项来为一个未碎片化的表定义中间隔或列表碎片模式,然后使用 ATTACH 选项将第二个表附加到它。)
对于按间隔碎片化的幸存表,具有以下限制:
- 因为确定了碎片的顺序位置,所以 BEFORE 和 AFTER 规范无效。
- 不能附加其表达式与现有的间隔碎片表达式相匹配的碎片。
- 在附加超过过渡值的碎片时,正附加碎片的上限必须与一个间隔碎片边界保持一致。也就是说,碎片的上限必须等于过渡值加上间隔值的一个整数倍数。
对于由安全策略保护的碎片表,如果未满足任何以下条件,将一个碎片附加到该表的操作将会失败:
- 源表和目标包都受相同的安全策略保护。
- 两个表都具有相同的保护粒度(行级、列级或同时包含行级和列级)。
- 在两个表中,同一组受保护的列受到了相同安全标签的保护。如果有多个受保护的列,可能每个表中有多个安全标签,但同一个标签必须保护两个表中的同一列。
如果由于未满足一个或多个上述条件,导致 ATTACH 操作失败,可以使用 ALTER TABLE 语句使两个表的模式相等,然后在修改的表上再次执行 FRAGMENT ATTACH 语句。
当将具有相同表结构的表转换为一个表中的碎片时,您允许数据库服务器管理碎片,而不是允许应用程序来管理碎片。分布模式可以是 round-robin 或基于表达式。
要从两个或多个结构相同的未碎片化表中创建一个碎片表,ATTACH 子句必须在附加列表中包含幸存表。附加列表是 ATTACH 子句中的一个表列表。
要在新创建的单个碎片表中包含 rowid 列,可首先附加所有表,然后使用 ALTER TABLE 语句添加 rowid。
将一个表附加到一个碎片表
要将一个未碎片化的表附加到一个已碎片化的表,未碎片化的表必须已在一个独立的 dbspace 中创建,并且必须具有与碎片表相同的表结构。
当将一个或多个表附加到一个碎片表时,consumed_table 必须是未碎片化的。
在 ATTACH 操作中使用 ONLINE 关键字。
ONLINE 关键字要求数据库服务器在内部提交 ALTER FRAGMENT ATTACH 工作(如果没有错误),以及向幸存表应用一个意向独占锁,而不是独占锁。独占锁适用于使用表,这些表必须是未碎片化的表。
执行 ATTACH 后的索引
幸存表上分离的索引会保留相同的碎片战略。也就是说,分离的索引不会自动调整来适应幸存表的新碎片。
在支持事务日志的数据库中,ATTACH 操作会依据幸存表的新碎片战略扩展幸存表上的任何附加索引。使用表的所有行将采用这些自动调整的索引。
在 IBM Informix 的无日志记录的数据库中,ATTACH 操作不会依据幸存表上的新碎片战略来扩展幸存表上的索引。要依据幸存表上的新碎片战略来扩展一个附加索引的碎片战略,必须丢弃该索引并在幸存表上重新创建它。
一些 ALTER FRAGMENT ... ATTACH 操作可能导致数据库服务器更新索引结构。当在这些情况下重新构建一个索引时,关联的列分布会自动重新计算,并且该索引可供查询优化器在为附加了碎片的表设计查询计划时使用。
对于 ALTER FRAGMENT ... ATTACH 自动为其重建了 B 型树索引的一个(或一组)索引列,重新计算的列分布统计信息等同于 HIGH 模式下由 UPDATE STATISTICS 语句所创建的分布。
如果重新构建的索引不是 B 型树索引,自动重新计算的统计信息将对应于 LOW 模式下由 UPDATE STATISTICS 语句所创建的分布。

在进行服务器搭建或者系统管理时,CentOS7.9是一个非常常用的操作系统版本,本文将为您提供关于CentOS7.9安装以及安装SSH的详细步骤和说明。CentOS7.9是一个免费且开源的Linux操作系统,它是基于RedHatEnterpriseLinux(RHEL)的二进制兼容版本,下面是CentOS7.9安装的步骤:1.您需要下载CentOS7.9的ISO镜像文件,您可以从CentOS官方网站上下载最新的CentOS7.9ISO镜像文件。2.在您的计算机上创建一个新的虚拟机或者物理机,并将

近年来,Go语言逐渐成为Web开发的热门语言之一。作为Go语言的高性能Web框架之一,Gin框架在开发中具有较高的使用价值。该框架包含了许多有用的功能,如:路由、中间件、参数绑定、渲染、日志等。同时,Gin框架还有着完备的全栈性能和系统管理机制,下面将对其进行详细解析。一、全栈性能1.1路由性能路由是Web框架的基础功能之一,其好坏直接影响了Web应用的性

作为一款受欢迎的开源操作系统,Linux提供了大量的命令行工具,灵活、高效、强大的命令行工具,是Linux操作系统的重要特点之一。在这篇文章中,我们将介绍Linux系统中实用的命令及其用法,帮助您更加深入地了解Linux命令行操作。一、文件和目录操作命令ls命令ls命令可以列出当前目录下的所有文件和子目录。使用ls命令时可以加上一些参数,例如-a

在Linux操作系统中,软件和系统更新是非常关键的操作,这可以确保系统的稳定性、安全性和性能的优化。在本文中,我们将为你介绍如何有效地管理Linux系统中的软件和系统更新,以确保系统的最佳运行状态。一、理解Linux软件和系统更新的重要性在Linux系统中,软件和系统更新被视为系统维护的基本操作之一。更新不仅包括修补程序的安全漏洞和错误,还可以在系统性能的优

如何在Linux平台上使用Python脚本进行系统管理摘要:Linux是一种强大的开源操作系统,而Python是一种功能强大的编程语言。本文将介绍如何使用Python脚本在Linux平台上进行系统管理,包括文件管理、进程管理、系统监控等方面,并提供具体代码示例。文件管理1.1文件的复制与移动在Linux下,可以使用shutil模块的copy函数来实现文件的

如何进行Linux系统的进程管理和性能监测在Linux系统中,进程管理和性能监测是非常重要的任务。在本文中,我将分享一些关于如何进行Linux系统的进程管理和性能监测的技巧,同时提供一些具体的代码示例。一、进程管理查看进程列表使用ps命令可以列出当前系统上所有的进程,命令格式如下:psaux这将列出所有进程的详细信息,包括进程ID、父进程ID、CPU使用率

随着公司业务的增长,系统管理页面的需求越来越重要。如何快速构建一个易于使用且功能完善的系统管理页面是很多开发人员需要解决的问题。PHP作为一种常见的服务器端编程语言,具有广泛的使用范围和丰富的资源库,本文将介绍如何使用PHP构建系统管理页面。准备工作在开始之前,我们需要安装PHP和Apache或者Nginx服务器,并且配置好MySQL数据库。这些工具都是开源

配置Linux系统以支持容器编排和管理随着容器技术的快速发展,容器编排和管理成为了现代化云端环境中不可或缺的一部分。在Linux系统上,我们可以通过一系列的配置和安装来支持容器编排和管理工具,如Kubernetes和DockerSwarm。本文将介绍如何在Linux系统上配置这些工具,并提供代码示例。安装DockerDocker是一个开源的容器引擎,它可以


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.
