Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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 .
Copyright © počítačové znalosti Všetky práva vyhradené