Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengubah suai indeks dalam oracle

Bagaimana untuk mengubah suai indeks dalam oracle

青灯夜游
青灯夜游asal
2022-01-25 17:10:1917256semak imbas

Cara mengubah suai indeks dalam Oracle: 1. Gunakan "ubah nama indeks lama indeks kepada nama indeks baharu;" untuk menamakan semula indeks 2. Gunakan pernyataan "indeks jatuh" untuk memadam yang asal indeks, dan kemudian gunakan pernyataan "CREATE" INDEX" mencipta indeks dengan nama yang sama seperti yang diperlukan.

Bagaimana untuk mengubah suai indeks dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.

Penjelasan

 1) Indeks ialah salah satu objek pangkalan data, digunakan untuk mempercepatkan pengambilan data, serupa dengan indeks buku. Pengindeksan dalam pangkalan data boleh mengurangkan jumlah data yang perlu dibaca oleh program pangkalan data semasa menanyakan hasil, sama seperti cara dalam buku kita boleh menggunakan indeks untuk mencari maklumat yang kita inginkan tanpa perlu membaca keseluruhan buku.

2) Indeks ialah objek pilihan yang dibina di atas meja; kunci kepada indeks adalah untuk menggantikan kaedah pengambilan imbasan jadual penuh lalai dengan set kunci indeks yang diisih, dengan itu meningkatkan kecekapan mendapatkan semula

3) Indeks secara logik dan fizikal bebas daripada jadual dan data yang berkaitan Apabila membuat atau memadam indeks, ia tidak akan menjejaskan jadual asas; 4) Setelah indeks dibuat, ia akan dilakukan pada jadual Semasa operasi DML (seperti semasa menjalankan operasi berkaitan sisipan, pengubahsuaian atau pemadaman), Oracle akan menguruskan indeks secara automatik dan pemadaman indeks tidak akan memberi kesan pada jadual

 5) Indeks telus kepada pengguna, tidak kira apa yang ada pada jadual Sama ada terdapat indeks, penggunaan pernyataan sql kekal tidak berubah

6) Oracle akan secara automatik mencipta indeks pada lajur apabila mencipta kunci utama

Prinsip indeks 1 Jika tiada indeks, semasa mencari rekod tertentu (contohnya, mencari nama='wish'), anda perlu cari semua rekod, kerana tiada jaminan bahawa hanya ada satu kehendak, dan anda mesti mencari kesemuanya

2 nama nilai setiap rekod dalam susunan menaik, dan kemudian bina entri indeks (nama dan rowid) dan simpannya dalam segmen indeks Apabila nama pertanyaan dikehendaki Anda boleh terus mencari tempat yang sepadan

3. Mencipta. indeks tidak semestinya bermakna ia akan digunakan secara automatik mengira maklumat jadual dan memutuskan sama ada untuk menggunakan indeks Apabila terdapat sedikit data dalam jadual, kelajuan imbasan jadual penuh sudah sangat tinggi. tidak perlu menggunakan indeks

Penggunaan indeks (buat, ubah suai, padam, lihat)

1. Cipta sintaks indeks

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];                                    --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用
2. Ubah suai indeks

1) Namakan semula indeks

2) Gabungkan indeks (jadual akan dijana dalam indeks selepas tempoh penggunaan Pecahan, kecekapan indeks akan dikurangkan pada masa ini, anda boleh memilih untuk membina semula indeks atau menggabungkan indeks, kaedah indeks gabungan adalah lebih baik, tiada ruang storan tambahan diperlukan dan kosnya lebih rendah)
alter index index_sno rename to bitmap_index;

3) Bina semula indeks
alter index index_sno coalesce;

Kaedah 1: Padamkan indeks asal dan buat indeks dengan nama yang sama seperti yang diperlukan.

Kaedah 2:

alter index index_sno rebuild;
3 Padamkan indeks

4 Tutorial yang disyorkan: "
drop index index_sno;
Tutorial Oracle

"

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai indeks dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn