Bagaimanakah Oracle menentukan sama ada indeks tidak sah?
Dalam Oracle, anda boleh menggunakan pernyataan "pilih status daripada indeks_pengguna di mana index_name='nama indeks';" untuk menentukan sama ada indeks itu tidak sah jika hasil yang dikembalikan adalah SAH, ini bermakna indeks itu tidak tidak sah, jika tidak, ia bermakna indeks itu tidak sah.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Bagaimana Oracle menentukan sama ada indeks tidak sah
Sintaks adalah seperti berikut:
select status from user_indexes where index_name='索引名称';
Jika hasil pulangan adalah SAH, ini bermakna indeks adalah sah!
Contohnya adalah seperti yang ditunjukkan dalam rajah:
Pengetahuan lanjutan:
Penyelesaian kepada kegagalan indeks
1 Pilih pengoptimum Oracle yang sesuai
Terdapat tiga jenis pengoptimum Oracle:
a RULE (berasaskan peraturan) b. PILIH (selektif) ).
Tetapkan pengoptimum lalai melalui pelbagai pengisytiharan parameter OPTIMIZER_MODE dalam fail init.ora, seperti RULE, COST, CHOOSE, ALL_ROWS, FIRST_ROWS. Sudah tentu anda juga mengatasinya pada peringkat pernyataan SQL atau peringkat sesi.
Untuk menggunakan Pengoptimum Berasaskan Kos (CBO, Pengoptimum Berasaskan Kos), anda mesti menjalankan arahan analisis dengan kerap untuk meningkatkan ketepatan statistik objek dalam pangkalan data.
Jika mod pengoptimum pangkalan data ditetapkan kepada terpilih (PILIH), mod pengoptimuman sebenar akan dikaitkan dengan sama ada arahan analisis telah dijalankan. Jika jadual telah dianalisis, mod pengoptimum secara automatik akan menjadi CBO Jika tidak, pangkalan data akan menggunakan bentuk RULE pengoptimum.
(Analisis jadual
analyze table PROD_PARTS compute statistics; ANALYZE TABLE PROD_PARTS COMPUTE STATISTICS FOR ALL INDEXED COLUMNS; analyze table PROD_PARTS compute statistics for table for all indexes for all indexed columns;
) [Selepas kegagalan indeks, selepas berunding dengan DBA, saya mendapati bahawa ia adalah masalah dengan statistik data Penyelesaian khusus adalah untuk melaksanakan pernyataan di atas ]
Secara lalai, Oracle menggunakan pengoptimum CHOOSE Untuk mengelakkan imbasan jadual penuh yang tidak diperlukan, anda mesti cuba mengelak daripada menggunakan pengoptimum CHOOSE dan terus menggunakan pengoptimum berasaskan peraturan atau berasaskan kos.
2. Bina semula indeks
alter index 索引名 rebuild 【online】
3. Paksa indeks
Selepas menambah pembayang pada pernyataan, paksa untuk menggunakan indeks 'RECORD_ENTITYID'
Pernyataan sql menjadi seperti ini
Rujukan
select /*+ index(record,record_entityid) */ * from RECORD where entityId='24' and entityType='blog';
/* index(record,record_entityid) */ In, index bermaksud penggunaan paksa indeks, rekod ialah nama jadual, record_entityid ialah nama indeks. Pelan pelaksanaan adalah konsisten dengan pangkalan data ujian, kedua-duanya menggunakan indeks 'RECORD_ENTITYID' dan logik baca dan tulis juga 4.
Selepas ujian kemudian, selepas menganalisis jadual dan kedua-dua indeks tanpa menambah petunjuk, indeks 'RECORD_ENTITYID' juga boleh digunakan. Walau bagaimanapun, kerana jadual dikemas kini agak kerap, saya tidak tahu berapa lama masa yang diperlukan untuk menganalisisnya semula
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Bagaimanakah Oracle menentukan sama ada indeks tidak sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Terdapat kaedah berikut untuk mendapatkan masa di Oracle: Current_TimeStamp: Mengembalikan masa sistem semasa, tepat untuk beberapa saat. SystimeStamp: Lebih tepat daripada Current_TimeStamp, kepada nanodekonda. SYSDATE: Mengembalikan tarikh sistem semasa, tidak termasuk bahagian masa. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): Menukar tarikh dan masa sistem semasa ke format tertentu. Ekstrak: Ekstrak bahagian tertentu dari nilai masa, seperti tahun, bulan, atau jam.

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Kesalahan angka Oracle tidak sah mungkin disebabkan oleh jenis data yang tidak sepadan, limpahan angka, kesilapan penukaran data, atau rasuah data. Langkah -langkah penyelesaian masalah termasuk memeriksa jenis data, mengesan limpahan digital, memeriksa penukaran data, memeriksa rasuah data, dan meneroka penyelesaian lain yang mungkin seperti mengkonfigurasi parameter NLS_NUMERIC_CHARACTERS dan membolehkan pembalakan pengesahan data.

Kaedah untuk menyelesaikan masalah penutupan kursor Oracle termasuk: secara eksplisit menutup kursor menggunakan pernyataan Tutup. Mengisytiharkan kursor dalam klausa kemas kini supaya ia ditutup secara automatik selepas skop berakhir. Mengisytiharkan kursor dalam klausa menggunakan supaya ia secara automatik ditutup apabila pembolehubah PL/SQL yang berkaitan ditutup. Gunakan pengendalian pengecualian untuk memastikan kursor ditutup dalam keadaan pengecualian. Gunakan kolam sambungan untuk menutup kursor secara automatik. Lumpuhkan penyerahan automatik dan penangguhan kursor kelewatan.

Untuk membuat pengguna di Oracle, ikuti langkah -langkah berikut: Buat pengguna baru menggunakan pernyataan pengguna Create. Berikan kebenaran yang diperlukan menggunakan penyata geran. Pilihan: Gunakan pernyataan sumber untuk menetapkan kuota. Konfigurasikan pilihan lain seperti peranan lalai dan ruang meja sementara.
