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;3. インデックスを削除します
drop index index_sno;
4. インデックスを表示します
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 サイトの他の関連記事を参照してください。

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

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

ホットトピック



