Informix 11.70系统管理: 空间管理(下)
授予或撤销碎片的权限 如果您希望授予有用的碎片权限,您必须有一种战略来控制数据分布。一种有效的战略是按表达式来将数据记录碎片化。但是,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 语句所创建的分布。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在進行伺服器建置或系統管理時,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系統管理是通過配置、監控和維護來確保系統穩定、高效和安全。 1.掌握shell命令如top、systemctl。 2.使用apt或yum管理軟件包。 3.編寫自動化腳本提高效率。 4.調試常見錯誤如權限問題。 5.通過監控工具優化性能。

如何在Linux平台上使用Python腳本進行系統管理摘要:Linux是一種強大的開源作業系統,而Python是一種功能強大的程式語言。本文將介紹如何使用Python腳本在Linux平台上進行系統管理,包括檔案管理、進程管理、系統監控等方面,並提供具體程式碼範例。檔案管理1.1檔案的複製與移動在Linux下,可以使用shutil模組的copy函數來實現檔案的

如何使用PHP腳本進行Linux系統管理在Linux系統管理中使用PHP腳本可以大幅簡化管理操作,並提高效率。 PHP語言具有良好的兼容性和強大的功能,可輕鬆實現Linux系統的管理任務。本文將介紹如何使用PHP腳本進行Linux系統管理,並提供具體程式碼範例。一、使用PHP執行Shell指令PHP提供了執行Shell指令的函式exec()和system()

如何進行Linux系統的進程管理和效能監控在Linux系統中,進程管理和效能監控是非常重要的任務。在本文中,我將分享一些關於如何進行Linux系統的進程管理和效能監控的技巧,同時提供一些具體的程式碼範例。一、進程管理查看進程列表使用ps命令可以列出當前系統上所有的進程,命令格式如下:psaux這將列出所有進程的詳細信息,包括進程ID、父進程ID、CPU使用率
