Oracleでインデックスを変更する方法
Oracle でインデックスを変更する方法: 1. 「alter index oldindex name rename to newindex name;」ステートメントを使用してインデックスの名前を変更します; 2. 「dropindex」ステートメントを使用して元のインデックスを削除しますインデックスを作成し、必要に応じて "CREATE" INDEX" ステートメントを使用して同じ名前のインデックスを作成します。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
説明
1) インデックスはデータベース オブジェクトの 1 つで、本のインデックスと同様に、データの検索を高速化するために使用されます。データベースにインデックスを作成すると、データベース プログラムが結果をクエリするときに読み取る必要のあるデータの量を減らすことができます。これは、書籍でインデックスを使用すると、本全体を読まなくても必要な情報を見つけることができるのと同様です。
2) インデックスはテーブル上に構築されるオプションのオブジェクトです。インデックスの鍵は、デフォルトの全テーブル スキャン取得方法をソートされたインデックス キーのセットに置き換えることで、取得効率を向上させます
3) インデックスは、関連するテーブルやデータから論理的、物理的に独立しています。インデックスを作成または削除しても、基本テーブルには影響しません;
4) インデックスが作成されると、それが実行されますテーブル上 DML 操作中 (挿入、変更、または削除関連の操作を実行するときなど)、Oracle がインデックスを自動的に管理し、インデックスの削除はテーブルに影響を与えません
5) インデックスは透過的ですテーブルに何があるかに関係なく、ユーザーにとってはインデックスの有無に関わらず、SQL ステートメントの使用法は変わりません
6) Oracle は主キーの作成時に列にインデックスを自動的に作成します
インデックスの原則
1. インデックスがない場合、特定のレコードを検索するとき (たとえば、name='wish' で検索する場合)、ウィッシュが 1 つだけであるという保証はなく、すべてのレコードを検索する必要があります。
2 。名前にインデックスが作成されている場合、Oracle はテーブル全体の検索を実行します。 , 各レコードの名前の値を昇順に並べてインデックス エントリ (名前と ROWID) を構築し、インデックス セグメントに格納します。クエリ名が希望の場合は、対応する場所を直接見つけることができます。 3. インデックスを作成したからといって必ずインデックスが使用されるわけではありません。Oracle はテーブルの情報を自動的にカウントし、インデックスを使用するかどうかを決定します。テーブル内のデータが非常に少ない場合、フル テーブル スキャンの速度はすでに非常に高速です。高速です。インデックスを使用する必要はありません。
インデックスの使用法 (作成、変更、削除、表示)1. インデックスの作成構文
CREATE [UNIQUE] | [BITMAP] INDEX index_name --unique表示唯一索引
ON table_name([column1 [ASC|DESC],column2 --bitmap,创建位图索引
[ASC|DESC],…] | [express]) [TABLESPACE tablespace_name]
[PCTFREE n1] --指定索引在数据块中空闲空间
[STORAGE (INITIAL n2)]
[NOLOGGING] --表示创建和重建索引时允许对表做DML操作,默认情况下不应该使用
[NOLINE]
[NOSORT]; --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用
1) インデックスの名前を変更します
alter index index_sno rename to bitmap_index;
2) インデックスをマージします (テーブルが一定期間使用された後)時間が経つと、インデックスで断片化が発生します。このとき、インデックスの効率が低下します。インデックスを再構築するか、インデックスをマージするかを選択できます。マージされたインデックスの方法の方が優れており、追加のストレージ領域を必要とせず、コストも高くなります。下段)
alter index index_sno coalesce;
3) インデックスを再構築する
方法 1: 元のインデックスを削除し、必要に応じて同じ名前のインデックスを作成します。
方法 2:
alter index index_sno rebuild;
drop index index_sno;
select index_name,index-type, tablespace_name, uniqueness from all_indexes where table_name ='tablename'; -- eg: create index index_sno on student('name'); select * from all_indexes where table_name='student';
推奨チュートリアル: "
Oracleチュートリアル以上がOracleでインデックスを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック











Oracle データベース ログの保存期間は、次のようなログのタイプと構成によって異なります。 REDO ログ: 「LOG_ARCHIVE_DEST」パラメータで構成された最大サイズによって決定されます。アーカイブ REDO ログ: 「DB_RECOVERY_FILE_DEST_SIZE」パラメータで構成された最大サイズによって決まります。オンライン REDO ログ: アーカイブされず、データベースの再起動時に失われます。保持期間はインスタンスの実行時間と一致します。監査ログ: 「AUDIT_TRAIL」パラメータによって構成され、デフォルトで 30 日間保持されます。

2 つの日付の間の日数を計算する Oracle の関数は DATEDIFF() です。具体的な使用法は次のとおりです。 時間間隔の単位を指定します: 間隔 (日、月、年など) 2 つの日付値を指定します: date1 と date2DATEDIFF(interval, date1, date2) 日数の差を返します。

Oracle データベースの起動シーケンスは次のとおりです。 1. 前提条件を確認します。 3. データベース インスタンスを起動します。 5. データベースに接続します。サービスを有効にします (必要な場合)。 8. 接続をテストします。

Oracle の INTERVAL データ型は、時間間隔を表すために使用されます。構文は INTERVAL <precision> <unit> です。INTERVAL の演算には、加算、減算、乗算、除算を使用できます。これは、時間データの保存などのシナリオに適しています。日付の差を計算します。

Oracle では、ネストされた INSTR 関数を使用して、文字列に 2 つの部分文字列が同時に含まれているかどうかを判断できます。INSTR(string1, string2a) が 0 より大きく、INSTR(string1, string2b) が 0 より大きい場合、それは含まれます。それ以外の場合は含まれません。

Oracle で文字の出現数を確認するには、次の手順を実行します。 文字列の全長を取得します。 文字が出現する部分文字列の長さを取得します。 部分文字列の長さを減算して、文字の出現数をカウントします。全長から。

Oracle データベース サーバーのハードウェア構成要件: プロセッサ: マルチコア、少なくとも 2.5 GHz のメイン周波数 大規模なデータベースの場合は、32 コア以上が推奨されます。メモリ: 小規模データベースの場合は少なくとも 8 GB、中規模のデータベースの場合は 16 ~ 64 GB、大規模なデータベースまたは重いワークロードの場合は最大 512 GB 以上。ストレージ: SSD または NVMe ディスク、冗長性とパフォーマンスのための RAID アレイ。ネットワーク: 高速ネットワーク (10GbE 以上)、専用ネットワーク カード、低遅延ネットワーク。その他: 安定した電源、冗長コンポーネント、互換性のあるオペレーティング システムとソフトウェア、放熱と冷却システム。

Oracle が必要とするメモリーの量は、データベースのサイズ、アクティビティー・レベル、および必要なパフォーマンス・レベル (データ・バッファー、索引バッファーの保管、SQL ステートメントの実行、およびデータ・ディクショナリー・キャッシュの管理) によって異なります。正確な量は、データベースのサイズ、アクティビティ レベル、および必要なパフォーマンス レベルによって影響されます。ベスト プラクティスには、適切な SGA サイズの設定、SGA コンポーネントのサイズ設定、AMM の使用、メモリ使用量の監視などが含まれます。
