Punca 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
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!

方法: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后的内容就是端口号。

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

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

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

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


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

Dreamweaver CS6
Alat pembangunan web visual

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Dreamweaver Mac版
Alat pembangunan web visual