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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









CentOS7.9 はサーバー構築やシステム管理の際によく使われるオペレーティングシステムのバージョンであり、この記事では CentOS7.9 のインストールと SSH のインストールの詳細な手順と手順を説明します。 CentOS7.9 は、無料のオープン ソース Linux オペレーティング システムです。Red Hat Enterprise Linux (RHEL) をベースにしたバイナリ互換バージョンです。CentOS7.9 をインストールする手順は次のとおりです。 1. ISO イメージ ファイルをダウンロードする必要があります。 CentOS7.9の最新版CentOS7.9 ISOイメージファイルをCentOS公式サイトからダウンロードしてください。 2. コンピュータ上に新しい仮想マシンまたは物理マシンを作成し、インストールします。

近年、Go 言語は Web 開発で徐々に人気のある言語の 1 つになりました。 Pin フレームワークは、Go 言語の高性能 Web フレームワークの 1 つとして、開発における利用価値が高くなります。このフレームワークには、ルーティング、ミドルウェア、パラメータ バインディング、レンダリング、ロギングなど、多くの便利な機能が含まれています。同時に、Gin フレームワークには完全なフルスタック パフォーマンスとシステム管理メカニズムも備わっており、これについては以下で詳しく分析します。 1. フルスタック性能 1.1 ルーティング性能 ルーティングは Web フレームワークの基本機能の 1 つであり、その品質は Web アプリケーションの性能に直接影響します。

Linux は、人気のあるオープン ソース オペレーティング システムとして、多数のコマンド ライン ツールを提供しています。柔軟で効率的で強力なコマンド ライン ツールは、Linux オペレーティング システムの重要な機能の 1 つです。この記事では、Linux のコマンド ライン操作をより深く理解できるように、Linux システムでの実践的なコマンドとその使用法を紹介します。 1. ファイルおよびディレクトリの操作コマンド ls コマンド ls コマンドは、現在のディレクトリ内のすべてのファイルおよびサブディレクトリを一覧表示します。 ls コマンドを使用するときに、-a などのいくつかのパラメーターを追加できます。

Linux オペレーティング システムでは、ソフトウェアとシステムのアップデートは非常に重要な操作であり、システムの安定性、セキュリティ、パフォーマンスの最適化を確保できます。この記事では、Linux システムのソフトウェアとシステムのアップデートを効果的に管理して、システムの最適な動作を保証する方法を紹介します。 1. Linux ソフトウェアとシステムのアップデートの重要性を理解する Linux システムでは、ソフトウェアとシステムのアップデートはシステム メンテナンスの基本操作の 1 つとみなされます。アップデートにはセキュリティの脆弱性やバグの修正が含まれるだけでなく、システムのパフォーマンスも向上します。

Linuxシステム管理により、構成、監視、メンテナンスを通じて、システムの安定性、効率、セキュリティが保証されます。 1。TOPやSystemCtlなどのマスターシェルコマンド。 2. APTまたはYUMを使用して、ソフトウェアパッケージを管理します。 3.効率を向上させるための自動スクリプトを書きます。 4.許可問題などの一般的なデバッグエラー。 5.監視ツールを介してパフォーマンスを最適化します。

Linux プラットフォームでシステム管理に Python スクリプトを使用する方法 概要: Linux は強力なオープンソース オペレーティング システムであり、Python は強力なプログラミング言語です。この記事では、ファイル管理、プロセス管理、システム監視などを含む、Linux プラットフォーム上のシステム管理に Python スクリプトを使用する方法を紹介し、具体的なコード例を示します。ファイル管理 1.1 ファイルのコピーと移動 Linux では、shutil モジュールのコピー機能を使用してファイルのコピーを実現できます。

Linux システム管理で PHP スクリプトを使用する方法 Linux システム管理で PHP スクリプトを使用すると、管理操作が大幅に簡素化され、効率が向上します。 PHP 言語は優れた互換性と強力な機能を備えており、Linux システム上で管理タスクを簡単に実装できます。この記事では、Linux システム管理に PHP スクリプトを使用する方法と、具体的なコード例を紹介します。 1. PHP を使用してシェル コマンドを実行する PHP には、シェル コマンドを実行するための関数 exec() および system() が用意されています。

Linux システムでプロセス管理とパフォーマンス監視を実行する方法 Linux システムでは、プロセス管理とパフォーマンス監視は非常に重要なタスクです。この記事では、Linux システムのプロセス管理とパフォーマンス監視を行う方法に関するヒントをいくつか紹介し、具体的なコード例をいくつか紹介します。 1. プロセス管理 プロセス リストを表示します。ps コマンドを使用して、現在のシステム上のすべてのプロセスをリストします。コマンドの形式は次のとおりです: psaux。これにより、プロセス ID、親プロセス ID、およびプロセス ID を含むすべてのプロセスの詳細情報がリストされます。 CPU使用率。
