Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

DB2 a nerovnosť Použitie Index

databázový systém DB2 , ako u väčšiny relačných databáz , využíva špeciálne súbory označované ako indexy na rekordnou rýchlosťou vyhľadávanie . Väčšinu času , programy použiť index načítať konkrétne záznamy z databázovej tabuľky , ale DB2 môžete nájsť viac záznamov , ktoré predstavujú rad . V druhom prípade , môžete vytvoriť štruktúrované vyhlásenie dopytovací jazyk , ktorý používa nerovností , ako je väčšia alebo menšia ako . Prečo používať indexu ?

Bez indexu , musí byť počítač prečítať každý záznam v tabuľke , kým sa nájde taký , ktorý zodpovedá kritériu . Napríklad , on - line predajca má databázovú tabuľku obsahujúcu 100 tisíc zákazníkov . Keď sa Joe Smith prihlási so svojím ID zákazníka , počítač by mal čítať desiatky tisíc záznamov , kým sa nachádza jeho . Sám o sebe , operácia trvá niekoľko sekúnd , vynásobené tisíce zákazníkov , to sa stáva hodín navyše spracovanie . Index ukladá len zákazník identifikátormi v samostatnom súbore organizovanej pre rýchly prístup . DB2 lokalizuje pozíciu požadovaný záznam v súbore po prečítaní niekoľkých index záznamov , s číslom polohy , načíta záznam v hlavnej tabuľke priamo . Pomocou indexu , DB2 nájde záznam v niekoľkých tisícin sekundy , čo výrazne urýchľuje mnoho databázových úloh .
Rovnosť a nerovnosť

Typický program používa rovnosť získať indexovaný záznam z tabuľky DB2 , ako ukazuje nasledujúci SQL kód ilustruje :

SELECT CUSTOMER_NAME , adresa , mesto, štát od zákazníkov , KDE CUSTOMER_ID = '51412 ' ;

klauzuly WHERE SELECT rovná pole CUSTOMER_ID jedného zákazníka hodnotu ID . Občas , možno budete chcieť vidieť záznamy s radom hodnôt , ako v nasledujúcom príkaze SQL :

SELECT CUSTOMER_NAME , adresa , mesto, štát od zákazníkov WHERE CUSTOMER_ID > = '51400 ' ;

Tu, vyhlásenie ťahá veľa záznamov z databázy , počnúc z ktorých jedna má zákazník ID väčší alebo rovné 51400 . Použitie väčší alebo rovné symbol je príkladom nerovnosti . Hoci rovnosť načíta záznamy zodpovedajúce jedinú hodnotu , nerovnosť nájde záznamy o väčšiu či menšiu hodnotu .
Ako operátor

DB2 používa index tabuľky kdekoľvek je to možné , aj keď to závisí od príkazu SQL v klauzule WHERE . Ak príkaz má nerovností , možno DB2 naďalej používať index , ale účinnosť môže trpieť . Operátor LIKE ukazuje, ako index funguje v rôznych situáciách , v skutočnosti vytvára nerovnosť s zástupných znakov " % " a najúčinnejší SQL vyberie jeden , neprerušovaný radu , ako ukazuje nasledujúci SQL sa zobrazí " _ " . :

SELECT CUSTOMER_NAME , adresa , mesto, štát od zákazníkov , KDE CUSTOMER_ID LIKE '514 % ' ; " . 514 "

údajov nájde všetky záznamy s customer_IDs začínajúcich s nájde prvý záznam , ktorý spĺňa toto kritérium DB2 , načíta všetky následné záznamy , ktoré zodpovedajú , a potom sa zastaví . Ďalšie SQL je menej efektívna :

SELECT CUSTOMER_NAME , adresa , mesto, štát od zákazníkov , KDE CUSTOMER_ID LIKE ' _1400 ' ;

, zástupný znak " _ " špecifikuje všetky zákaznícke ID , ktoré končí " 1400 " , ale ktorý začína s ľubovoľným počtom . DB2 musí hľadať väčšinu indexu , nájsť všetky identifikátory , ktoré začínajú s " 1 " , " 2 " , a tak ďalej až do konca tabuľky . Index šetrí menej času v tejto situácii .
Multi - Field Indexy

WHERE mnohých SELECT zadať viac polí . Ak chcete zvýšiť rýchlosť týchto Selecta , index sa môže ubytovať viac ako jedného poľa . Napríklad nasledujúci SQL vyhľadá záznamy pomocou kombinácie Rovnosť a nerovnosť operácií :

SELECT CUSTOMER_NAME , adresa , mesto, štát od zákazníkov WHERE stav = " IL " A zip_code > = '60600 ' ;

Ak často načítavať dáta pomocou rovnakých polí a kritériá , vytvoriť nový index kombinujúci poľa . Pre najlepšiu účinnosť , umiestniť polia rovnosti v indexe najprv , nasledovaný nerovnosť poľa .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené