Bagaimanakah Oracle menjadikan indeks tidak sah?
Jan 26, 2022 am 10:25 AMPunca kegagalan indeks oracle: 1. Tidak menggunakan klausa WHERE 2. Menggunakan "IS NULL" dan "IS NOT NULL" 3. Menggunakan fungsi dalam klausa WHERE 5 . Gunakan operasi ketaksamaan dalam klausa WHERE 6. Bandingkan jenis data yang tidak sepadan, dsb.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Bagaimana Oracle menjadikan indeks tidak sah?
Matlamat indeks Oracle adalah untuk mengelakkan imbasan jadual penuh dan meningkatkan kecekapan pertanyaan, tetapi kadangkala ia tidak produktif.
Sebagai contoh, terdapat berjuta-juta data dalam jadual, dan indeks ditambahkan pada medan tertentu, tetapi prestasi pertanyaan tidak bertambah baik Ini mungkin disebabkan oleh kegagalan indeks Oracle. Indeks Oracle mempunyai beberapa sekatan Jika anda melanggar sekatan indeks ini, walaupun anda telah menambah indeks, Oracle masih akan melakukan imbasan jadual penuh Prestasi pertanyaan tidak akan bertambah baik berbanding dengan tidak menambah indeks ke pangkalan data Overhed sistem untuk mengekalkan indeks mengakibatkan prestasi yang lebih teruk. Berikut ialah ringkasan tujuh kekangan utama yang boleh menyebabkan indeks Oracle gagal.
1. Tiada klausa WHERE
2. Penggunaan IS NULL dan BUKAN NULL
PILIH ... DARI emp. WHERE comm IS NULL; Indeks pada lajur kom akan menjadi tidak sah
3 Gunakan fungsi dalam klausa WHERE
Jika tiada indeks berasaskan fungsi digunakan, maka klausa where Apabila menggunakan fungsi pada lajur diindeks, pengoptimum akan mengabaikan indeks ini. Contohnya:
select * from staff where trunc(birthdate) = '01-MAY-82';
Tetapi apabila fungsi digunakan pada syarat, indeks boleh berkuat kuasa Tukar pernyataan di atas kepada pernyataan berikut dan anda boleh mencari melalui indeks.
select * from staff where birthdate < (to_date('01-MAY-82') + 0.9999);
Nota: Oracle masih menggunakan indeks untuk fungsi MIN, MAX.
4 Gunakan LIKE '%T' untuk pertanyaan kabur
5. Gunakan operasi ketaksamaan dalam klausa WHERE
Tidak sama dengan operasi termasuk: <>, !=, NOT colum >= ?, NOT colum <= ?
Sekatan ini boleh digantikan dengan OR, contohnya: colum <> 0 ===> colum>0 ATAU colum<0
6 indeks yang sama dan julat tidak akan digabungkan
SELECT emp_id, emp_m, salary_q ... FROM emp WHERE job='manager' AND deptno>10
kerja dan deptno. Indeks bukan unik, dalam kes ini Oracle tidak akan menggabungkan indeks, ia hanya akan menggunakan indeks pertama.
7. Perbandingan tidak sepadan dengan jenis data
dept_id ialah medan varchar2 Terdapat indeks pada medan ini, tetapi pernyataan berikut akan melaksanakan jadual penuh imbasan.
select * from dept where dept_id = 900198;
Ini kerana Oracle akan menukar klausa where secara automatik menjadi to_number(dept_id)=900198, yang bersamaan dengan menggunakan fungsi, yang mengehadkan penggunaan indeks. Cara yang betul untuk menulisnya adalah seperti berikut:
select * from dept where dept_id = '900198';
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Bagaimanakah Oracle menjadikan indeks tidak sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Untuk selamat dan teliti menyahpasang MySQL dan membersihkan semua fail sisa, ikuti langkah -langkah berikut: 1. Hentikan perkhidmatan MySQL; 2. Nyahpasang pakej MySQL; 3. Fail konfigurasi bersih dan direktori data; 4. Sahkan bahawa pemotongan adalah menyeluruh.

Oracle bukan sahaja syarikat pangkalan data, tetapi juga pemimpin dalam pengkomputeran awan dan sistem ERP. 1. Oracle menyediakan penyelesaian yang komprehensif dari pangkalan data ke perkhidmatan awan dan sistem ERP. 2. Oraclecloud mencabar AWS dan Azure, menyediakan perkhidmatan IaaS, PaaS dan SaaS. 3. Sistem ERP Oracle seperti E-BusinessSuite dan FusionApplications membantu perusahaan mengoptimumkan operasi.

MongoDB sesuai untuk data yang tidak berstruktur dan keperluan skalabilitas yang tinggi, sementara Oracle sesuai untuk senario yang memerlukan konsistensi data yang ketat. 1.MongoDB Flexibly menyimpan data dalam struktur yang berbeza, sesuai untuk media sosial dan Internet Perkara. 2. Model data berstruktur Oracle memastikan integriti data dan sesuai untuk urus niaga kewangan. 3.MongoDB skala secara mendatar melalui shards, dan skala Oracle secara menegak melalui RAC. 4.MongoDB mempunyai kos penyelenggaraan yang rendah, sementara Oracle mempunyai kos penyelenggaraan yang tinggi tetapi disokong sepenuhnya.

Abstrak perenggan pertama artikel: Apabila memilih perisian untuk membangunkan aplikasi rangka kerja YI, pelbagai faktor perlu dipertimbangkan. Walaupun alat pembangunan aplikasi mudah alih asli seperti Xcode dan Android Studio dapat memberikan kawalan dan fleksibiliti yang kukuh, rangka kerja silang platform seperti React Native dan Flutter menjadi semakin popular dengan manfaat yang dapat digunakan ke pelbagai platform sekaligus. Bagi pemaju yang baru untuk pembangunan mudah alih, kod rendah atau platform tidak kod seperti AppSheet dan Glide dapat dengan cepat dan mudah membina aplikasi. Di samping itu, penyedia perkhidmatan awan seperti AWS menguatkan dan Firebase menyediakan alat yang komprehensif

Perbezaan utama antara MySQL dan Oracle adalah lesen, ciri, dan kelebihan. 1. Lesen: MySQL menyediakan lesen GPL untuk kegunaan percuma, dan Oracle mengamalkan lesen proprietari, yang mahal. 2. Fungsi: MySQL mempunyai fungsi mudah dan sesuai untuk aplikasi web dan perusahaan kecil dan sederhana. Oracle mempunyai fungsi yang kuat dan sesuai untuk data berskala besar dan perniagaan yang kompleks. 3. Kelebihan: MySQL adalah sumber terbuka percuma, sesuai untuk pemula, dan Oracle boleh dipercayai dalam prestasi, sesuai untuk perusahaan besar.

Perbezaan antara MySQL dan Oracle dalam Prestasi dan Skalabiliti adalah: 1. MySQL melakukan lebih baik pada set data kecil dan sederhana, sesuai untuk pembacaan dan penulisan yang cepat dan cekap; 2. Oracle mempunyai lebih banyak kelebihan dalam mengendalikan set data yang besar dan pertanyaan yang kompleks, sesuai untuk ketersediaan tinggi dan logik perniagaan yang kompleks. MySQL meluas melalui replikasi master-hamba dan teknologi sharding, sementara Oracle mencapai ketersediaan dan skalabilitas yang tinggi melalui RAC.

MySQL menggunakan lesen GPL dan komersil untuk projek sumber kecil dan terbuka; Oracle menggunakan lesen komersial untuk perusahaan yang memerlukan prestasi tinggi. Lesen GPL MySQL adalah percuma, dan lesen komersil memerlukan pembayaran; Yuran lesen Oracle dikira berdasarkan pemproses atau pengguna, dan kosnya agak tinggi.

Kunci untuk belajar Java tanpa mengambil jalan memutar adalah: 1. Memahami konsep teras dan tatabahasa; 2. Amalan lebih banyak; 3. Memahami Pengurusan Memori dan Koleksi Sampah; 4. Sertai komuniti dalam talian; 5. Baca kod orang lain; 6. Memahami perpustakaan dan kerangka biasa; 7. Belajarlah untuk menangani kesilapan yang sama; 8. Buat pelan pembelajaran dan teruskan langkah demi langkah. Kaedah ini dapat membantu anda menguasai pengaturcaraan Java dengan cekap.
