Az elsődleges GUID kulcs vs NUMBER az Oracle-ben Ez" />

Elsődleges kulcsvezérés és szám az orákulumban

A téma. A teljesítmény-kényelem szakaszban érdekelt vélemények, ha a GUID CHAR (32)

És akkor miért "vs Number"?


> Az elsődleges GUID kulcs vs NUMBER az Oracle-ban

A halál tetszik! MIÉRT. Ez csak vétkezett az MS SQL Server szakembereknél (mivel nem tudta az automatikus növekmény kulcsok azonosítóját a DML előtt).

egy ecsetet jelent egy sorozathoz

A ROWID producer még mindig semmi.
És vissza lehet vinni a vonalhoz és hátrafelé.


> 1 Termelhet az ügyfélen vagy a kiszolgálón, és tudja
> kulcsértéket a behelyezés előtt

És a szám létrehozható. Nem látom a problémát.


> 2 A továbbított adatcsomagok egyedi azonosítása
> off-line módban (pl. SMTP-SOAP) a különbözőek között
> szervezetek, amelyekben a rendszer telepítve van

Ez függ a feladattól, véleményem szerint. És a kérdés GUID vs szám túl gyakran neki ebben az esetben határozott választ adni.


> 3 A könyvtárak frissítése a szülőktől a leányvállalatokig
> abban az esetben, ha a leányvállalatok kiegészíthetik
> saját könyvtárakkal rendelkező könyvtárakat

Ez kétértelmű. Hasonlóképpen, frissíthetők is, és NUMBER. Hogyan ütközik meg a konfliktus, ha néhány gyermek szervezet ugyanazokat a rekordokat adja meg, amelyek csak a GUID-ben különböznek?

Ezért az Oracle eltér az MS SQL Servertől.
Állítsa be a kérést SEQ_NAME.NEXTVAL és kapjon garantált egyedi értéket!
Továbbá az olyan komponensek, mint például a DOA és az ODAC maguk is tudják, hogyan kell ezt megtenniük (meg kell adni egy olyan sorozatot, amely "működik" a kiválasztott táblán).


> (nem tudta az automatikus növekménykulcs azonosítóját megadni
> a DML végrehajtása előtt)

És miért kapja meg előbb. Ön és közvetlenül utána. Gyakran megcsinálom az orákulumban - ott van a visszatérés.

IMHO. A GUID egy olyan kísérlet, amely megkönnyíti a replikáció problémájának megoldását.
Plusz csak egy - gyorsan és könnyen minden bázis egyedülálló (nagy valószínűséggel) ID-shniki.
hátránya:
1) Általánosságban elmondható, hogy a hapna valószínűsége ugyanazt az azonosítót enyhíti, bár az oooochen alacsony
2) Hosszabb sorozatot generál
3) Az indexelés keményebb - számok hatékonyabbak a számoknál
4) Nincs ilyen mnemonikus információ. a formáció forrása (például a kiszolgáló száma), a generációs megbízás (az ID-t létrehozó szervezet illetékes szervezete segítségével meg tudja határozni a nyilvántartások számát, melyeket később jelentettek)
5) Kevesebb helyre van szükségünk Namber számára.
6) A tanárom azt mondta, hogy az ő tapasztalata namberovye ID jobb (számomra ez a lényeg :))


> 6) A tanárom azt mondta, hogy a tapasztalatában a Namber-azonosító jobb
> (számomra ez a fő pont :))

Nézd meg, hogy valaki használt / hibakeresés történt egyszer

c) VMS felhasználói hierarchia

Igen, 100-szor adtam egy példát - abban az esetben, ha a kliensből számos rekordot kell létrehoznia a kapcsolódó táblázatokból. A kiszolgálót már a külföldi kulcsok szabályai által meghatározott értékekkel küldi el, és ne aggódjon többé.


> 2 A továbbított adatcsomagok egyedi azonosítása
> off-line módban (pl. SMTP-SOAP) a különbözőek között
> szervezetek, amelyekben a rendszer telepítve van
Hogyan viszonyul ez az adatbázis kulcsához?

És miért van szüksége egyedi kulcsra mindenféle asztalhoz?
A CHAR mutatók észrevehetően gátlóbbak.

Fenyeget minden eszközzel szemben. A GUID a PK táblákban, az IMHO, nem irányítja.


> Igen, 100-szor adtam példát - abban az esetben, ha létre kell hoznod
> sok rekord a kapcsolódó táblázatokról az ügyfélről

Ez az, de miért. Nos, ha MS SQL olyan görbe, amely nem rendelkezik generátorok, kivéve avtoinkrementalnyh mezőket, akkor mi az, hogy minden egyszerre alkotnak?
Először létrehozza a master rekordot. Ezután kihúzza az azonosítót és helyettesíti a részleteket. És az MS SQL generálásának módja is módosítható.

Az ágazatban előzetesen húzhatja a szekvenciákat, és beillesztheti azokat. Bár ugyanazok a szereplők egyenként megyek. És még jobb, ha lehetséges, szedje be ezt a kódot egy csomagba, és ne szenvedjen.

Дополнб - т.к. Az MS SQL a DML-operátorok csomagjait használja, akkor az eredményül kapott azonosítókat szerverváltozókká alakíthatja (ha helyesen neveztem őket), majd felhasználhatják azokat. Ugyancsak egy csomag és minden megy.

Ez a kliens-szerver nyílt tranzakcióval történő cseréje.
Erre nem mehetek: (

(Valószínűleg ezért nem dolgozom az MS SQL programmal).


> Az ügyfél-kiszolgáló cseréje, amikor a tranzakció nyitva van?
>.
> Ezt nem mehetem: (

És mi a baj ezzel?

Az MS SQL nem bocsátja meg ezt!


> Igen. mint "mi van"?
> Azt javasolja, hogy nyisson meg egy tranzakciót, futtassa a DML-t a kiszolgálón,
> # xA0, várakozás a végrehajtásra, get @@ identitás a kiszolgálón, küldés
> az ügyfélnek, hol töltse ki az alárendeltek szükséges értékeit
> táblákat, majd küldjön új DML-t a kiszolgálónak és zárja be a tranzakciót?
>.
>
> Az MS SQL nem bocsátja meg ezt!

Az elsőben - bocsáss meg
Másodszor - mindent egy csomagban tehet meg.

És mit forgalmaz, senki nem ír? Az ilyen egyhangú szavazás a véleményekben. Alig tudom elképzelni az életet a vezetők nélkül a rendszerekben, nos, például a munkafolyamat. Bár teljesen segédmezőként használhatjuk, de ebben az esetben valóban két primer kulcsa van

És a forgalmazók írják.
És az egyediség problémája eldől. És a Nambur kulcsok esetében és a húrok esetében. És ahogy már említettük, hogy a kulcsot az alrendszer mnemonikus kötésével használják.

Sok író disztribútor. De hol van a GUID.
Nagyon nehéz elképzelni, hogy hol helyezze el a GUID-t a munkafolyamatba. És mint ebben az esetben a dokumentum különbözik például a számviteltől? Lehet, hogy a GUID közzététele hasznos?
Az egyetlen alkalom, amikor a kezembe jött, amikor egy egyedi műanyag kártyát készítettem egy ügyfélnek.


> Nehezen képzelem elképzelni az életet a rendszerekben,
> # xA0, akkor például a munkafolyamat.

Alig tudom elképzelni - de szüksége van rá. )


> Ki a "csomag"?

Az MS SQL rendszerben több lekérdezést is küldhet a kiszolgálónak.
És te is egy darab T-SQL.
Tény, hogy minden kérelmet megért, mint valami névtelen blokkot az Oracle-ben. Ebben az esetben egy adatkészletet is visszaadhat. És nem egyedül.

Egy példa az életről. A tartomány a laboratóriumi kutatások is több ezer példány, így sem a laboratórium nem tudja elvégezni az összes tanulmány és egy megállapodást a munkamegosztás létezhet laboratóriumok között. Például az egyik feltárja csak a vér, és a többi csak a vizeletben, és az ügyfél közömbös, hogy a munkamegosztás - ő lesz az első laboratóriumi, kézzel, majd, és így tovább. Ez előkészíti az elektronikus rend és megvizsgálja a vér a laboratórium, amely a címzett, és a vizelet laboratóriumi küldi ezt labor partnere, és ez is egy példányát elküldte a megrendelés elektronikus úton.
Így a partner laboratórium adatbázisában automatikusan megegyezik az irány egyedi példányával. Miután elvégezték az összes tanulmányt, indokolt a két megbízást egybeolvasztani.

Nem értem, hogy a vizelet vizet kell elvezetnie a vérből. )))
Gyanítom, hogy a GUID valahogy beilleszti az adatbázis-tervezés hibáit.


> Ez így van, a replikáció kulcsszó.

Kíváncsi vagyok, hogyan irányítod, majd meghatározd, melyik szerver született a lemezen?
Én dolgoztam egy olyan rendszer, amelyben a replikációs részt több mint 10 valós szerverek (nem beleértve a kiegészítő tükrök). És ott használták a Nambero azonosítót. Ugyanakkor a járatok elemzése során mindig nyomon követhették, honnan jött minden.

A szervezet azonosítója szerint. Szintén iránymutató. És az Active Directoryból származik.


> A szervezet azonosítója szerint. Szintén iránymutató. És elvesznek
> az Active Directoryból.

Ezután lesz két GUID-je. "A. Egy a bejegyzés egyediségére, a második a szervezetért, amely felelős a bejegyzésért, vagy nem értettem valamit.

Mi a baj ezzel? )

Igen, elvben semmi különös. Ebből a logikából az következik, hogy a GUID-ben hasznos az összes adatbázis minden elsődleges kulcsának létrehozása a világon.
Értsd meg, - soha nem igazolta a GUID használatát az azonosításhoz! Sokan beszéltek ellene.
Ugyanakkor tiszteletet kell tennünk az igazság adatbázisok számára, amelyek a GUID-ID-kkel hiba nélkül dolgozhatnak.

Van két rendszerki százezer rekordot a táblázatban max a guides. Úgy működik, mint egy óra. Megszoktam, és feltöltöttem. Egy újabb modulot terveztek, amely egy megabátot tartalmaz, egy Descartes terméket használva, ahol több tízmillió is elérhető.
teljesítmény teszt Oracle 10 XE, azt nem tudta elvégezni :) millió lemezt az ID Number típusú beillesztett körülbelül 10 percig, és több mint egy millió lemezt-char azonosítót (32) Oracle morgott egy fél órát, és azt mondta, hogy belső hiba.

Memória: 0,83 MB
Időzítés: 0.098 mp

Kapcsolódó cikkek