Oracle Unique Index

Oracle Unique Index



Az adatbázis-teljesítmény az adatbázis-fejlesztők egyik alapvető szerepe. Annak biztosítása, hogy az adatbázis optimális teljesítménnyel fusson, jelentősen befolyásolhatja az adatbázisba olvasási vagy írási feladatokat.

Bár számos módszer létezik az adatbázis teljesítményének javítására, egy szolgáltatás szinte univerzális minden adatbázisban. Az adatbázis-indexek olyan adatstruktúrák vagy objektumok, amelyek az adatok táblából történő visszakeresésének sebességét növelik.

Megfelelő használat esetén az adatbázis-indexek közel felére csökkenthetik a lekérdezés sebességét, a céladatoktól, az elrendezéstől, a rendelkezésre álló erőforrásoktól stb.







Ebből az oktatóanyagból megtudhatja, hogyan dolgozhat egyedi indexekkel az Oracle adatbázisokban, hogy megakadályozza az ismétlődő értékek elérhetőségét egy indexelt oszlopban.



Oracle Unique Index

Egyedi indexet használhatunk annak biztosítására, hogy egy adott oszlopban ne legyenek ismétlődő sorok. Ha egy adott index oszlopa egyedi szabályt tartalmaz, akkor az adott oszlopban két hasonló értékű sor hozzáadásának kísérlete hibát eredményez, amely egyedi kényszer megsértésére utal.



Az Oracle-ben egyedi indexet hozhatunk létre a CREATE UNIQUE INDEX utasítás használatával, ahogy az az alábbiakban látható:





EGYEDI INDEX LÉTREHOZÁSA index_neve A táblanéven ( oszlopok ) ;

Az indexben szereplő oszlopok nem fogadnak el ismétlődő sorokat.

Példa egyedi táblázat-illusztrációra

Az egyedi index létrehozásának és használatának bemutatásához használja a következő táblázatot:



KIVÁLASZTÁS * FROM minta_adatai;

Kimenet :

Hozzon létre egy egyedi indexet a First_Name oszlopban

A következő példautasítás bemutatja, hogyan lehet egyedi indexet létrehozni a first_name oszlop használatával:

egyedi first_name_unique index létrehozása a sample_data oldalon ( keresztnév ) ;

Az index engedélyezésével nem szúrhatunk be egynél több sort azonos keresztnévvel.

Vegyük például a következő beillesztési utasítást:

illessze be a minta_adatba ( id , keresztnév, ip_cím, btc_cím, hitelkártya, azonosító )
értékeket ( tizenegy , 'Wallas' , '169.158.70.77' , „1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q” , „4017955174552” ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;

Ha lefuttatjuk az adott insert utasítást, akkor a következő hibaüzenetet kell kapnunk:

[ 23000 ] [ 1 ] ORA-00001: egyedi megszorítás ( HR.FIRST_NAME_UNIQUE ) megsértették

Amint látjuk, a megadott érték beszúrása sérti a first_name oszlop egyedi megszorítását.

Hozzon létre egy egyedi indexet két oszloppal

Egyedi indexünk is lehet, amely egynél több oszlopból áll. A következő példában egyedi indexet hozunk létre a first_name és az io_address oszlopok használatával:

hozzon létre egyedi verify_column indexet a sample_data oldalon ( keresztnév, ip_cím ) ;

Hasonlóképpen, ha ismétlődő értékeket ad hozzá a first_name vagy az ip_address oszlophoz, akkor egyedi indexsértési hibák lépnek fel.

Automatikus egyedi indexek

Gondolkozott már azon, mi történik, ha egy táblaoszlopot elsődleges kulccsal vagy egyedi megszorítással deklarál?

Egyszerűen fogalmazva, ha egy oszlopot állít be a tábla elsődleges kulcsaként, vagy egyedi kényszert rendel egy adott oszlophoz, az adatbázismotor automatikusan létrehoz egy egyedi indexet az oszlophoz.

Ez biztosítja, hogy ne kerüljön be ismétlődő érték az oszlopba.

Vegyük például a következő állítást:

minta_adat tábla létrehozása
(
id szám,
keresztnév  varchar2 ( ötven ) ,
ip_cím  varchar2 ( húsz ) ,
btc_address varchar2 ( ötven ) ,
hitelkártya varchar2 ( ötven ) ,
azonosító: varchar2 ( 40 ) ,
megszorítás minta_pk elsődleges kulcs ( id )
) ;

Az előző példában létrehozunk egy táblázatot, és az id oszlopot állítjuk be a tábla elsődleges kulcsaként. Ezután az oszlophoz társított egyedi kényszer (automatikusan generált) megtekintéséhez a következő parancsot futtathatjuk:

válassza ki index_neve, index_típusa, láthatóság, állapot, TABLE_NAME
az összes_indexből, ahol TABLE_NAME = 'MINTA ADAT' ;

Eredmények :
Ebben az esetben láthatjuk az egyedi indexet, amelyet az adatbázismotor hoz létre az id oszlophoz.

Következtetés

Ebben az útmutatóban megtanulta, hogyan hozhatja létre és használhatja az egyedi indexeket az Oracle adatbázisban. Azt is megtanulta, mi történik, ha elsődleges kulcsot vagy egyedi kényszert rendel egy táblázatoszlophoz.