Pojem index. Klasifikácia indexov. Pojem a klasifikácia indexov v štatistike Typy indexov štatistiky indexov

Indexy

Indexová metóda je jednou z najbežnejších metód štatistickej analýzy ekonomických javov. Pomocou indexov sa študuje národné hospodárstvo ako celok a jeho jednotlivé sektory, ako aj činnosť podnikov, združení, firiem, fariem a pod. odhaľuje sa dynamika vývoja sociálno-ekonomických javov, analyzuje sa implementácia plánov alebo noriem; zisťuje sa vplyv jednotlivých faktorov na celkový výsledok, odhaľujú sa produkčné rezervy; realizujú sa územné a medzinárodné porovnania ekonomických ukazovateľov.

Index v štatistike je relatívny ukazovateľ, ktorý charakterizuje vzťah medzi úrovňou sociálno-ekonomických javov v čase, v porovnaní s plánom alebo v priestore. Keďže index je relatívny ukazovateľ, získava sa vždy pomerom dvoch hodnôt: vykazovacej (alebo aktuálnej), t.j. porovnávanej, a základnej, t.j. tej, na ktorej úrovni je vykazovaná hodnota sa porovnáva. Ak sa za základ porovnania vezme úroveň javu za určité minulé časové obdobie, získajú sa dynamické indexy; ak sa za základ porovnania vezme úroveň javu na inom území, získajú sa územné indexy.

Vo vzorcoch, sústavách rovníc, ekonomických a matematických modeloch sú aktuálne údaje označené jednotkou umiestnenou hneď pod písmenovým označením hodnoty. Napríklad: p 1, údaj, ktorý sa používa ako základ pre porovnanie, je označený nulou: p 0. (V matematike sa takéto označenia nazývajú indexy, v štatistike indexy.) Ako každá relatívna hodnota, aj indexy sú vyjadrené v vo forme koeficientov, ak sa za základ berie jeden, alebo vo forme percent, ak sa za základ berie sto.

Sociálno-ekonomické javy skúmané štatistikou zvyčajne pozostávajú z mnohých prvkov. Hrubá produkcia výrobkov a služieb teda zahŕňa hodnotu konečných výrobkov a služieb vytvorených všetkými sociálne organizovanými typmi ekonomickej činnosti a vo všetkých odvetviach hospodárstva. Inými slovami, hrubý výstup produktov a služieb pozostáva z mnohých jednotlivých druhov produktov a služieb.

Indexy sa počítajú tak pre jednotlivé prvky komplexného javu, ako aj pre celý komplexný jav ako celok. V prvom prípade sú tzv individuálne a sú označené latinským písmenom i a v druhom - všeobecný a sú označené I. Jednotlivé indexy zahŕňajú indexy charakterizujúce zmeny produkcie jedného konkrétneho druhu produktu (indexy tavenia ocele, výroby potašových hnojív, výroby televízorov atď.), indexy charakterizujúce zmeny ceny akéhokoľvek produktu (bicykle, cement, hovädzie mäso atď.). ), náklady na jednotlivý produkt atď.

Indexy počítané za celý komplexný jav, t. potraviny a nepotravinárske tovary a služby zahrnuté do „spotrebného koša“, dynamika nákladov na množstvo produktov.

Pre pohodlie konštrukcie indexov v teórii štatistiky bola vyvinutá symbolika, t.j. každá analyzovaná hodnota má svoje vlastné označenie. Počet jednotiek daného druhu vyrobeného alebo predaného produktu sa teda označí - q, cena jednotky produktu je p, cena jednotky produktu je z, pracnosť jednotky produktu je. t, výkon na pracovníka je w, merná spotreba materiálu (paliva), t.j. spotreba materiálu (paliva) na jednotku výroby, - m atď.

Preto bude mať individuálny index fyzického objemu tvar:

Vzorec pre individuálny cenový index bude:

a index individuálnych nákladov:

Indexová klasifikácia:



Všeobecné indexy sa používajú na porovnávanie priamo nesúmerateľných, heterogénnych javov. Napríklad pomocou všeobecných indexov možno charakterizovať dynamiku produkcie celého odvetvia alebo dynamiku objemu celej produkcie v nábytkárskom závode, ktorý vyrába rôzne druhy výrobkov: stoly, kreslá, pohovky, skrine. Nemôžete však jednoducho zrátať objemy produktov rôznych typov za dve obdobia a tieto množstvá priradiť k sebe. Takáto sumarizácia je nezmyselná nielen kvôli rôznym jednotkám merania (tony, kusy, metre atď.), ale aj preto, že každý typ výrobku má svoj vlastný účel a vyrába sa s rôznymi nákladmi na finančné prostriedky a spoločensky potrebným časom.

Aby boli neporovnateľné javy (alebo ich prvky) porovnateľné, je potrebné ich vyjadriť spoločnou mierou; náklady, mzdové náklady atď. Tento problém sa rieši zostavením a výpočtom všeobecných indexov. Hlavnou formou všeobecných indexov sú agregované indexy.

Súhrnný index pozostáva z 2 prvkov:

2. Ukazovatele, ktoré slúžia ako spolumeracie jednotky (váhy).

Súčin indexovanej veličiny a spolumerača (váha) by mal udávať určitú ekonomickú kategóriu (pq, Yq, tq atď.).

Pravidlá pre vytváranie agregovaných indexov:

1. Ak sa vytvorí index ukazovateľa kvality, potom ukazovatele vykazovaného obdobia fungujú ako váhy.

2. Ak sa zostrojí index kvantitatívneho ukazovateľa, potom ukazovatele základného obdobia fungujú ako váhy.

Súhrnný index ceny produktu:

Ypq

p 0 ?q 0, p 1 ?q 1 - náklady na vyrobené produkty v základnom období a vykazovanom období.

Yq - charakterizuje zmenu skutočných nákladov vyrobených výrobkov podľa analyzovaného zoznamu:

Vzťah:

Absolútna zmena:

Pq = ?p1?q1-?p0?q0 ?pq=?pqp +?pqq

Súhrnný cenový index:

Yp

p 0 , s 1 - cenu každého druhu produktu v základnom období a za vykazované obdobie.

q 1 - objemu každého typu produktu za vykazované obdobie.

Yp - charakterizuje, ako sa v priemere menili ceny rôznych druhov produktov.

Vzťah:

Absolútna zmena:

?pq p = ?p 1 ?q 1 -?p 0 ?q 1

Súhrnný index fyzického objemu:

Yq

q0 je objem každého druhu produktu v základnom období.

Yq - charakterizuje, ako sa zmenil priemerný celkový objem produktov podľa analyzovaného zoznamu:

Vzťah:

Absolútna zmena:

Pqq = aq1?p0-?q0?p0

Priemerné indexy- druh všeobecných indexov, ktoré sa počítajú ako hodnota jednotlivých indexov (ako aritmetický priemer alebo ako harmonický priemer).

Existujú:

-Aritmetický priemer vážený index - získa sa z agregátu, ak v čitateli nahradíme hodnotu indexovaného ukazovateľa vykazovaného obdobia rovnakým súčinom hodnoty jednotlivého indexu a hodnoty indexovanej hodnoty základného obdobia.

Napríklad: aritmetický priemer vážený index objemu výroby:

Používa sa namiesto súhrnných indexov kvantitatívnych ukazovateľov.

-Priemerný harmonický vážený index - získa sa aj z agregátu, len v menovateli sa hodnota indexovanej hodnoty základného obdobia nahradí rovnakým pomerom hodnoty indexovanej hodnoty vykazovaného obdobia k hodnote jednotlivého indexu.

Napríklad: harmonický priemerný vážený cenový index:

Používa sa namiesto súhrnných indexov ukazovateľov kvality.

Ekonomické javy sa často charakterizujú pomocou priemerov. Najmä všetky ukazovatele kvality sú spravidla vyjadrené vo forme priemerov: priemerná cena jednotky výroby (), priemerné náklady na jednotku produktu (), priemerná mzda jedného pracovníka (), priemerný výkon na pracovníka (), priemerná pracovná náročnosť jedného výrobku () atď. Na štúdium dynamiky takýchto ukazovateľov sa v štatistickej praxi používajú indexy priemerných hodnôt (priemerné úrovne).

Zoberme si konštrukciu týchto indexov na príklade dynamiky priemernej náročnosti práce na jednotku produkcie (priemerný čas strávený na jednotku produkcie).

Variabilné indexy zloženia:

T 0, t 1 - úrovne náročnosti práce na jednotku produkcie za základné a vykazované obdobie.

Index variabilného zloženia - charakterizuje zmenu priemernej úrovne ako celku v dôsledku dvoch faktorov: zmeny spriemerovaných úrovní (indexovaná hodnota t) a vplyv štrukturálnych zmien, t.j. zmeny špecifických váh jednotiek populácie.

Vzťah:

v dôsledku zmien v úrovniach posudzovanej charakteristiky a v dôsledku zmien v štruktúre:

Indexy konštantného (pevného) zloženia:

Charakterizuje, ako sa mení úroveň skúmaného ukazovateľa len v dôsledku zmien priamo indexovanej hodnoty (t).

Vzťah:

Absolútna zmena priemernej úrovne:

Indexy štrukturálnych zmien:

Charakterizuje, ako sa mení úroveň skúmaného ukazovateľa len vplyvom štrukturálnych zmien.

Vzťah:

Absolútna zmena priemernej úrovne:

Všetky vyššie diskutované indexy porovnávali údaje za dve časové obdobia: bázu a vykazovanie. Pre hlbšie štúdium dynamiky ekonomických javov, zisťovanie vzorcov a trendov v ich vývoji sa však porovnávania indexov vykonávajú za niekoľko po sebe nasledujúcich období. V tomto prípade sa počíta systém reťazových a základných indexov.

Základné indexy je systém sekvenčne vypočítaných indexov toho istého javu, charakterizujúcich jeho zmenu vo vzťahu ku konštantnej báze, t. j. ako menovateľ všetkých vypočítaných indexov sa berie indexovaná hodnota základného obdobia.

Reťazové indexy sa nazýva systém indexov toho istého javu, ktorý ukazuje jeho zmenu vo vzťahu k meniacej sa báze, t.j. každá indexovaná hodnota sa porovnáva s predchádzajúcou hodnotou.

Voľba indexového systému je určená úlohami analýzy. Na posúdenie miery zmien vyskytujúcich sa z obdobia na obdobie sa používajú reťazové indexy. Ak je účelom štúdie určiť všeobecnú zmenu ekonomického javu za konkrétne historické obdobie, vypočítajú sa základné indexy.

Systém reťazových a bázických indexov možno vypočítať ako pre samostatný prvok komplexného javu (individuálne indexy), tak aj pre celý komplexný jav (všeobecné indexy). Jednotlivé základné a reťazové indexy sú totožné s hodnotami základnej a reťazovej relatívnej dynamiky.

Sekvenčný produkt P reťaz jednotlivé indexy dáva n- základný index a pomer P- základný individuálny index k predchádzajúcemu ( n-1) dáva P- th reťazový index.

1. Pojem index, podstata indexovej metódy.

2. Individuálne a konsolidované indexy.

1. Pojem index, podstata indexovej metódy

Slovo "index" znamená "ukazovateľ". Spravidla sa tento ukazovateľ používa na zovšeobecnenie charakteristík zmeny(napríklad index inflácie, index Dow Jones). Niekedy sa pojem „index“ používa ako všeobecný ukazovateľ štát(napríklad IQ index intelektuálneho rozvoja). Indexy budeme považovať za indikátory zmeny.

Index– ide o relatívnu hodnotu, ktorá ukazuje, koľkokrát sa úroveň skúmaného javu v daných podmienkach líši od úrovne toho istého javu v iných podmienkach. Môžu sa objaviť rozdiely v podmienkach:

V priebehu času (dynamické indexy);

Vo vesmíre (územné indexy);

Pri výbere porovnávacej základne (plán, zmluva, štandard).

V praxi sa používa indexová metóda na porovnanie komplexné javov (t. j. tých, ktorých kvantitatívne vyjadrenie si vyžaduje značné prepočty), identifikovať úlohu jednotlivých faktorov pri tvorbe akejkoľvek hodnoty (napríklad ako sa zmenila výška tržieb mestskej dopravy v dôsledku zmien počtu cestujúcich a taríf a vzhľadom na pomer v objeme dopravy rôzne druhy dopravy), porovnať úroveň javu nielen s predchádzajúcim obdobím, ale aj s iným územím či štandardom.

Všetky ekonomické indexy možno klasifikovať podľa nasledujúcich kritérií:

Stupeň pokrytia javu (individuálny a všeobecný);

Základ porovnávania (dynamika, územný plán, realizácia plánu);

Typ váh (s konštantnými alebo premenlivými stupnicami);

Forma konštrukcie (súhrnná a priemerná);

Charakter predmetu výskumu (ceny, fyzický objem, štrukturálne zmeny);

Zloženie javu (a kvantitatívne a kvalitatívne ukazovatele);

Výpočtové obdobie. (ročné, štvrťročné, ...).

Autor: pokrytie Indexy javov môžu byť individuálne alebo konsolidované. Autor: porovnávacia databáza– dynamický, územný, normatívny. Podľa typu stupnice– s konštantnými a premenlivými stupnicami. V závislosti od formy konštrukcie rozlišovať medzi agregovaným a priemerným. Autor: charakter predmetu výskumu– indexy kvantitatívnych a kvalitatívnych ukazovateľov. Podľa zloženia- indexy kvantitatívnych a kvalitatívnych ukazovateľov. Podľa výpočtového obdobia - ročné, štvrťročné atď.

Označenia

Každý index obsahuje dva typy údajov: hodnotené, aktuálne (označujú sa „1“) a údaje, s ktorými sa porovnávajú, porovnávaciu bázu (označujú sa „0“).

p „cena“ – cena, plat (akýkoľvek ekvivalent nákladov),


q „kvantita“ - množstvo, fyzický objem vo fyzickom meraní.

Podmienka použitia indexovej metódy– prítomnosť prísne určeného spojenia medzi charakteristikami. Vzťah medzi znakmi môže byť:

- multiplikačný, potom je vyjadrená rovnicou y = x 1 *x 2 *...*x k

Príklad: Mzdový fond = Počet zamestnancov * Priemerná mzda.

- Aditívum potom je vyjadrená rovnicou y = x 1 +x 2 +...+x k

Príklad: Zmena (index) v počte zamestnancov = (x 1 +x 2)1 /(x 1 +x 2) 0, kde

x 1 – počet pracovníkov vykonávajúcich manuálnu prácu,

x 2 - počet pracovníkov vykonávajúcich duševnú prácu.

2. Individuálne a konsolidované indexy

Individuálne indexy sa získavajú ako výsledok porovnávania rovnomenných javov, zložiek komplexného javu. Napríklad cenový index slnečnicového oleja je definovaný ako pomer jeho ceny vo vykazovanom období k cene základného obdobia. Jednotlivé indexy predstavujú relatívne hodnoty dynamiky, realizácie plánu a porovnávania. Príklady:

Individuálny index fyzického objemu produkcie: , kde

q 1 – množstvo výrobkov určitého druhu za vykazované obdobie,

q 2 - počet produktov určitého druhu v základnom období.

Individuálny cenový index: , kde

p 1 a p 0 - ceny za rovnaký produkt vo vykazovanom a základnom období.

Indexy môžu byť vyjadrené ako percentá alebo koeficienty.

Ak je známe, že skúmaný jav je heterogénny a úrovne možno porovnať až po ich privedení na spoločnú mieru, použite zhrnutie (všeobecné) indexy zapísané ako agregát. „Agregát“ (z lat. aggrego – dodávam) – zložený z jednotlivých častí.

Napríklad zložený index obratu: .

Základné a reťazové indexy

Na výpočet jednotlivých indexov existujú dva spôsoby: základný a reťazový.

Základ: (zodpovedá základnej miere zmeny).

Reťazec: (zodpovedá rýchlosti zmeny reťazca).

Pomer reťazových a základných indexov:

Indexy je možné znázorniť graficky (graf dynamiky, zvislá os sú % -indexové hodnoty).

Kvantitatívne (objemové) ukazovatele charakterizujú všeobecnú, celkovú veľkosť konkrétneho javu (množstvo (fyzický objem) produktov vo fyzickom vyjadrení, počet zamestnancov podniku, veľkosť pestovateľskej plochy).

Kvalita ukazovatele charakterizujú úroveň javu na jednotku celku (cena jednotky produktu, náklady na jednotku produkcie, výnos na 1 hektár a pod.).

Ukazovatele objemu a kvality spolu súvisia:

Súčin ukazovateľa kvality s pridruženým objemovým ukazovateľom dáva ďalší objemový ukazovateľ (úroda * osiata plocha = hrubá úroda). Táto vlastnosť sa využíva pri konštrukcii a výpočte indexov.

Príklad kvantitatívneho (objemového) indexu- index fyzického objemu výroby:

q – indexovaná hodnota, p – kometer (hmotnosť).

Pravidlo. Pri indexovaní objemového ukazovateľa je spolumerač (váha) fixovaný na úrovni základného obdobia.

Tento index ukazuje, koľkokrát sa zmenili výrobné náklady v dôsledku zmien fyzického objemu výroby.

Príklad indexu indikátora kvality- cenový index:

P – indexované množstvo, – q kometer (hmotnosť).

Pravidlo. Pri indexovaní kvalitatívneho ukazovateľa je spolumerateľ (váha) pevne stanovený na úrovni vykazovaného obdobia.

Tento index ukazuje, koľkokrát sa zmenili výrobné náklady v dôsledku zmien jednotkových cien.

Spoločnou charakteristikou ukazovateľov kvality je priemerná hodnota. Ak sa pri štúdiu dynamiky priemerných ukazovateľov zistí zmena nielen v spriemerovanej charakteristike, ale aj zmena v zložení alebo štruktúre obyvateľstva, je potrebné použiť indexy trvalé A premenlivý zloženie.

Index variabilné zloženie charakterizuje zmenu tak priemernej hodnoty, ako aj štruktúry obyvateľstva:

Index priemerného výnosu (premenná) .

Ak zafixujeme zmenu v štruktúre osiatych plôch na úrovni základného obdobia, dostaneme index stály personál:

Priemerný výnosový index (konštantný) .

Tento index charakterizuje zmenu hrubej úrody pod vplyvom zmien priemernej úrody pri nezmenenej štruktúre osevných plôch.

Index štrukturálnych zmien:

Index štrukturálnych zmien ukazuje, ako sa skúmaná veličina zmenila pod vplyvom zmien v štruktúre obyvateľstva.

Príklad indexu premenlivého zloženia: zložený index obratu

Príklady konštantných indexov zloženia:

Súhrnné cenové indexy:

Pascheho vzorec (s váhami za vykazované obdobie).

Laspeyresov vzorec (s váhami základného obdobia) .

Indexový vzťah

Pri pohľade na indexy si môžete všimnúť vzťah medzi nimi:

1) vzťah medzi reťazovými a základnými indexmi.

2) vzťah medzi indexmi konštantného a variabilného zloženia:

, t.j.

I za štát = I post state * I page

Tento pomer sa používa pri kontrole výsledkov riešenia úloh.

3) Ak A = p*q, potom I A = Ip *Iq, ∆A = ∆Аp + ∆Aq.

Poznaním vzťahu medzi veličinami je možné zostaviť systém indexov.

Kontrolné otázky

1. Čo je index?

2. Čo je individuálny index?

3. Čo sa nazýva súhrnný index?

4. Aká je indexovaná hodnota?

5. Akú váhu má index?

6. Čo ukazuje cenový index?

7. Čo ukazuje index fyzického objemu produkcie?

Index- ide o zovšeobecňujúci relatívny ukazovateľ, ktorý charakterizuje zmenu úrovne sociálneho javu v čase, v porovnaní s programom rozvoja, plánom, prognózou alebo jeho vzťahom v priestore.

Najbežnejšia porovnávacia charakteristika je v čase. V tomto prípade indexy fungujú ako .
Indexová metóda je zároveň najdôležitejším analytickým nástrojom na identifikáciu súvislostí medzi javmi. V tomto prípade sa už nepoužívajú jednotlivé indexy, ale ich systémy.
V štatistickej praxi sa indexy používajú na analýzu vývoja všetkých odvetví hospodárstva vo všetkých fázach ekonomickej práce. V trhovom hospodárstve sa zvýšila najmä úloha príjmov domácností, akciového trhu a teritoriálnych indexov.

Štatistika klasifikuje indexy podľa nasledujúcich kritérií:

1. V závislosti od predmetu štúdia:

  • indexy objemových (kvantitatívnych) ukazovateľov (indexy fyzického objemu: obchodný obrat, výrobky, spotreba)
  • indexy ukazovateľov kvality (cenové indexy, )

Indexy objemových ukazovateľov zahŕňajú indexy fyzického objemu: obchodný obrat, výrobky, spotreba materiálových tovarov a služieb; ako aj ďalšie ukazovatele kvantitatívneho charakteru: počet zamestnancov, výmera a pod. Indexy ukazovateľov kvality zahŕňajú indexy: ceny, výrobné náklady, mzdy, produktivita práce, výnos atď.;

2. Podľa stupňa pokrytia prvkov populácie:

  • jednotlivé indexy(uveďte porovnávací popis jednotlivých prvkov javu)
  • všeobecné indexy(charakterizujte zmenu v súbore prvkov alebo celého javu ako celku)

3. V závislosti od metodiky výpočtu sa všeobecné indexy delia na:

  • agregátne (agregované indexy sú hlavnou formou indexov a sú konštruované ako agregáty vážením indexovaného ukazovateľa pomocou konštantnej hodnoty iného ukazovateľa, ktorý s ním súvisí).
  • priemer (odvodené z agregátu)

4. V závislosti od porovnávacieho základu existujú:

  • základná (ak pri výpočte indexov za niekoľko časových období zostáva porovnávacia základňa konštantná)
  • reťazec (ak sa porovnávacia základňa neustále mení)

Indexová metóda

Môže sa tiež vykonať eliminácia, to znamená výpočet vplyvu jednotlivých faktorov na všeobecný ukazovateľ indexová metóda. Táto metóda sa používa na rozdrvenie. Indexy sú typom relatívnych hodnôt. Indexy sa používajú na charakterizáciu ekonomických javov pozostávajúcich z prvkov, ktoré by sa nemali sumarizovať.

Technicky je akýkoľvek index ukazovateľom definovaným ako pomer dvoch hodnôt. Posledne menované sú v podstate určité stavy známej charakteristiky. Pomocou indexov sa porovnávajú skutočné ukazovatele a základné ukazovatele, teda spravidla s plánovanými ukazovateľmi as ukazovateľmi predchádzajúcich období.

Existujú dva hlavné typy indexov:
  • jednoduché (súkromné, individuálne);
  • analytické (všeobecné, súhrnné).

V prvom prípade je skúmaná charakteristika akceptovaná bez zohľadnenia súvislosti tejto charakteristiky s inými charakteristikami skúmaných ekonomických javov. Takéto indexy môžu byť vyjadrené nasledujúcim vzorcom:

A - zodpovedajúcim spôsobom porovnával stavy akéhokoľvek atribútu

V druhom prípade sa skúmaný znak nepoužíva izolovane, ale vo vzťahu k iným znakom.

Preto každý analytický index pozostáva z dvoch prvkov:

Pomocou váhových charakteristík sa študujú zmeny ekonomických javov, ktorých prvky sú neporovnateľné. Treba mať na pamäti, že jednoduché a analytické indexy sa navzájom dopĺňajú.

Analytické indexy môžu byť prezentované takto:

kde a sú hmotnostné charakteristiky

Použitie indexov v ekonomickej analýze má tieto ciele:
  • s ich pomocou sa vykoná hodnotenie relatívnej zmeny akéhokoľvek ekonomického javu alebo ukazovateľa;
  • použitie indexov umožňuje určiť vplyv jednotlivých faktorov na zmeny všeobecného (výsledného) ukazovateľa (atribútu).
  • posudzuje sa vplyv zmien v štruktúre akéhokoľvek ekonomického javu na veľkosť dynamiky tohto javu.

Pozrime sa na podstatu indexovej metódy na konkrétnom príklade. Ak analyzovaná organizácia vyrába heterogénne produkty, vypočíta sa všeobecný index objemu produktu.

Informácie o objeme a nákladoch vyrobených produktov.

Druhy produktov

suma)

Cena za 1 kus (ruble)

Cena produktu (ruble)

V uvažovanom príklade budeme počítať analytické indexy, kde ako indexovaná charakteristika je zabraný objem výstupu, a ako indikátor hmotnosti - cena za jednotku produkcie. Na základe údajov uvedených v tabuľke vypočítame celkový index objemu výroby:

Náš výsledok ovplyvnili dva faktory:

  • zmena množstva produktov;
  • zmeny cien produktov.

Samostatne by sa malo definovať nasledovné:

  • index zmien množstva (objemu) produktov za predpokladu, že sú ocenené v rovnakých cenách;
  • index zmien cien produktov za predpokladu, že majú rovnaký objem.

Najprv nájdeme index zmeny množstva produkcie:

Potom určíme index zmien cien produktov:

V uvažovanom príklade index zmeny množstva ukazuje zvýšenie objemu výroby o alebo o 8 rubľov, to znamená (123 - 115). Index zmeny cien označuje zvýšenie cien produktov o , čo je 10 rubľov, to znamená (133 - 123).

Ak spočítame vplyv indexov, dostaneme celkový index objemu výroby - 18 rubľov.

Pomocou indexov môžete porovnávať údaje za niekoľko rokov, napríklad výpočtom tempo rastu produkty za porovnateľné ceny.

Z hľadiska analýzy dynamiky ukazovateľov je potrebné rozlišovať medzi pojmami reťazové a základné indexy. Základné nazývaný index vypočítaný vo vzťahu k základnému obdobiu. Pripútaný nazývaný index vypočítaný vo vzťahu k predchádzajúcemu obdobiu.

Jednotlivé indexy

Metódy konštrukcie indexov závisia od obsahu skúmaného javu, metodiky výpočtu počiatočných štatistických ukazovateľov a cieľov štúdie. Každý index obsahuje 3 prvky:

Každý index obsahuje 3 prvky:

  • indexovaný ukazovateľ je ukazovateľ, ktorého pomer úrovne charakterizuje index
  • porovnávacia úroveň- toto je úroveň, ktorá sa porovnáva s inou.
  • základná línia- toto je úroveň, s ktorou sa porovnáva.

Pre výpočet indexu je potrebné nájsť pomer porovnávanej úrovne k základnej úrovni a vyjadriť ho koeficientom, ak sa porovnávacia základňa rovná jednej, alebo percentom, ak sa porovnávacia základňa berie ako 100 %. Výpočty indexu sa zvyčajne robia vo forme koeficientov s presnosťou na tretie desatinné miesto, t.j. do 0,001, vo forme percent - až do desatín percenta, t.j. do 0,1 %.

Pre pohodlie pri vytváraní indexov sa používajú špeciálne symboly:

  • i je symbol indexovaného ukazovateľa - index charakterizujúci zmenu úrovne prvku javu.
  • I - so sublineárnym indexovaným ukazovateľom - pre skupinu prvkov alebo celú populáciu ako celok.
  • q - počet predaných tovarov alebo vyrobených produktov vo fyzickom vyjadrení
  • p - cena za jednotku tovaru
  • z — náklady na jednotku výroby
  • w - produktivita práce
  • T – odpracované hodiny alebo počet zamestnancov
  • l je priemerná mzda jedného zamestnanca
  • 0 – základné obdobie
  • 1 - vykazovacie obdobie
Počiatočné údaje Vypočítané údaje
Tovar Základné
obdobie
Vykazované obdobie Obchodný obrat v miliónoch rubľov Jednotlivé indexy
Predaj
t.ks
Cena za 1 kus.
t.rub
Predaj
t.ks
Cena za 1 kus.
t.rub
Základné obdobie Vykazované obdobie Vykazované obdobie v cenách základného obdobia Phys. objem obratu Ceny Obrat tovaru
A 1 2 3 4 5=1*2 6=3*4 7=3*2 8=3:1 9=4:2 10=6:5
q 0 p 0 q 1 p 1 q 0 * p 0 q 1 * p 1 q 1 * p 0
televízory 400 3 360 3,3 1200 1188 1080 0,9 1,1 0,99
Pozadie videokaziet 200 2 250 1,8 400 450 500 1,250 0,9 1,125
Celkom X X X X 1600 1638 1580 0,9875 1,037 1,024

Jednotlivé indexy charakterizujú zmenu samostatného prvku javu.

Individuálny index fyzického objemu obchodného obratu

Na štúdium zmien v počte predaných tovarov (fyzický objem predaja) by sa teda mal zostaviť individuálny index fyzického objemu obchodného obratu ako pomer množstva tovaru rovnakého druhu predaného vo vykazovanom období k množstvo rovnakého tovaru predaného v základnom období ( iq = q1/q0). Keďže základná úroveň indexovaného ukazovateľa je rovná 1 alebo 100 %, rozdiel medzi výsledným indexom a 1 alebo 100 % charakterizuje relatívnu veľkosť zmeny množstva predaného tovaru. Pomocou tohto indexu je možné určiť absolútnu zmenu množstva predaného tovaru vo fyzickom vyjadrení ako rozdiel medzi čitateľom a menovateľom indexu.

Vypočítame jednotlivé indexy fyzického objemu obchodného obratu.

Pre televízory: alebo 90 % a počítame tisíc kusov, to znamená, že vo vykazovanom období sa v porovnaní so základným rokom predalo 40 tisíc kusov televízorov, čiže o 10 % menej ako v základnom roku.

Pre videorekordéry: , a počítame tisíc kusov, to znamená, že počet predaných videorekordérov sa zvýšil o 50 tisíc kusov alebo o 25 %.

Individuálny cenový index

Individuálny cenový index je definovaný ako pomer ceny jednotlivého produktu v účtovnom období k jeho cene v základnom období, teda podľa vzorca: . Rozdiel medzi čitateľom a jeho menovateľom ukáže absolútnu zmenu ceny za jednotku tovaru v rubľoch.

Vypočítajme si jednotlivé cenové indexy (9):

V TV: alebo 110% a tisíc rubľov, t.j. cena televízora sa zvýšila o 0,3 tisíc rubľov alebo 10% (110-100).

Pre videorekordéry: alebo 90 % a tisíc rubľov, t.j. cena videorekordéra sa znížila o 0,2 tisíc rubľov alebo 10%.

Individuálny index obratu

Individuálny index obratu charakterizuje zmenu obratu za jeden výrobok a je konštruovaný ako pomer obratu za vykazované obdobie k obratu za základné obdobie, teda podľa vzorca:

Rozdiel medzi čitateľom a jeho menovateľom ukáže absolútnu zmenu obchodného obratu v rubľoch v dôsledku dvoch faktorov: zmeny v množstve predaného tovaru a zmeny v cene tohto tovaru, tj.

Vypočítajme si jednotlivé indexy obratu (10):

V televízii: buď 99 % a milión rubľov, to znamená, že obrat v televízii sa znížil o 12 miliónov rubľov alebo o 1 % (99 – 100 %).

Pre videorekordéry: alebo 112,5% ​​a miliónov rubľov, to znamená, že obrat videorekordérov sa zvýšil o 50 miliónov rubľov. alebo o 12,5 % (12,5 – 100 %).

Recenzované nami jednotlivé indexy sú vzájomne prepojené rovnako ako samotné indexované ukazovatele: index obchodného obratu sa rovná súčinu indexu fyzického objemu obchodného obratu cenovým indexom, tj.

Skontrolujeme vzťah medzi vypočítanými jednotlivými indexmi:

  • V TV: 0,99 = 0,9*1,1
  • Pre videorekordéry: 1,125 = 1,25 * 0,9

Získané údaje nám navyše umožňujú vypočítať absolútne ukazovatele zmien obchodného obratu za jednotlivé tovary vplyvom jednotlivých faktorov.

V prípade televízorov teda celková zmena obchodného obratu bola: milióny rubľov, to znamená, že obchodný obrat televízorov sa v sledovanom období znížil o 12 miliónov rubľov v porovnaní so základným obdobím. Toto množstvo možno rozložiť na dve časti:

1. v dôsledku zmeny v počte predaného tovaru: miliónov rubľov, to znamená, že v dôsledku poklesu počtu predaných televízorov o 40 000 kusov sa obrat znížil o 120 miliónov rubľov.

2. v dôsledku zmien cien: miliónov rubľov, to znamená, že v dôsledku zvýšenia ceny jedného televízora o 0,3 tisíc rubľov sa obchodný obrat zvýšil o 108 miliónov rubľov.

Pozrime sa na vzťah medzi vypočítanými ukazovateľmi: milión rubľov.

Pre videorekordéry máme zmenu obratu o 50 miliónov rubľov.

1. zmenou počtu predávaného tovaru:

2. v dôsledku zmien cien:

Obchodný obrat za videorekordéry sa zvýšil o 50 miliónov rubľov. V dôsledku nárastu počtu predaných videorekordérov o 50 000 kusov sa obchodný obrat zvýšil o 100 miliónov rubľov a v dôsledku poklesu cien videorekordérov o 0,2 tisíc rubľov za jednotku sa znížil o 50 miliónov rubľov.

Všeobecné indexy

Všetky indexy, ktoré sme uvažovali, charakterizujú relatívnu zmenu úrovní jednotlivých prvkov javu a nazývame ich individuálne indexy.

Väčšina spoločenských javov a procesov, ktoré štatistika skúma, však pozostáva z mnohých prvkov, ktoré môžu byť homogénne aj heterogénne. Homogénne javy možno priamo sčítať a vypočítať indexy, ktoré charakterizujú zmenu nie v jednom prvku, ale v skupine prvkov alebo celej populácii ako celku. Takéto indexy sa nazývajú všeobecné indexy. Dá sa teda zhrnúť počet predaných kusov homogénny tovar pre skupinu firiem a vypočítajte všeobecný index fyzického objemu obchodného obratu podľa vzorca:

Kde znamienko znamená súčet údajov o množstve jedného výrobku za viacero firiem. Môžete sčítať obchodný obrat za viacero tovarov a vypočítať celkový index obchodného obratu pomocou vzorca , kde znamienko znamená súčet obchodného obratu za skupinu tovarov.

Ak sú jednotlivé prvky javu heterogénne, potom je ich priama sumarizácia nemožná alebo nezmyselná a potom je potrebné ich uviesť do porovnateľnej podoby. Všetok tovar má svoju hodnotu a náklady na tovar je možné sčítať. Prechod od prírodných ukazovateľov k nákladovým nám umožňuje prekonať nesúhrnnosť prírodných a materiálnych prvkov celku. Zmena nákladov na tovar je však spôsobená spoločnou zmenou dvoch faktorov – množstva tovaru a jeho cien, pričom zmenu každého z týchto faktorov musíme určiť samostatne. Na štúdium zmien jedného faktora je potrebné abstrahovať od zmien druhého, vzájomne prepojeného faktora a zostaviť všeobecný index v agregovanej forme.

Áno, musím ukázať zmeniť počet predaných heterogénny tovar, preto sa do jeho čitateľa berie vykazované množstvo tovaru (q 1) a do menovateľa sa berie základné množstvo (q 0), t.j. indexovaný ukazovateľ sa mení a váha sa vykonáva v rovnakých cenách základného obdobia (p 0):

Čitateľom tohto indexu je podmienená hodnota obchodného obratu za vykazované obdobie v cenách základného obdobia a menovateľom je skutočná hodnota obchodného obratu základného obdobia. Rozdiel medzi čitateľom a menovateľom indexu ukáže absolútnu zmenu obchodného obratu v dôsledku zmien fyzického objemu obchodného obratu:

Poďme počítať súhrnný index fyzického objemu obchodného obratu podľa nášho príkladu:

Alebo 98,75% a milión rubľov, to znamená, že počet tovarov predaných v obchode sa v priemere znížil o 1,25% (98,75 - 100%), čo viedlo k zníženiu obratu o 20 miliónov rubľov.

Súhrnné indexy ukazovateľov kvality sú konštruované pomocou váh – objemových ukazovateľov vykazovaného obdobia. Súhrnný cenový index podľa vzorca nemeckého ekonóma E.:

Čitateľom indexu je obrat za vykazované obdobie, menovateľom je obrat vykazovaného obdobia v cenách základného obdobia a rozdiel medzi nimi charakterizuje: z pozície predávajúceho - absolútnu zmenu obratu v dôsledku zmeny cien, z pozície kupujúceho - úspory (prevýdavky) obyvateľstva zo zmien cien tovar: .

Vypočítajme súhrnný cenový index na základe našich vzorových údajov:

Alebo 103,7% a miliónov rubľov, to znamená, že ceny tovaru sa v priemere zvýšili o 3,7%, čo viedlo k zvýšeniu obchodného obratu o 58 miliónov rubľov.

Ako váhy v indexoch ukazovateľov kvality možno použiť nielen absolútne objemové ukazovatele, ale aj ukazovatele ich štruktúry, teda podiely.

V štatistickej praxi sa používa aj cenový index konštruovaný so základnými váhami podľa E. vzorca:

Súhrnný index obchodného obratu sa vypočíta podľa vzorca:

Alebo 102,4 %. Rozdiel medzi čitateľom a menovateľom tohto indexu charakterizuje absolútnu zmenu obchodného obratu v dôsledku dvoch faktorov: zmeny v množstve predaného tovaru a jeho ceny: milióny rubľov, to znamená, že obchodný obrat za vykazované obdobie vzrástol o 38 miliónov rubľov. v porovnaní so základným obdobím. alebo o 2,4 %.

Súhrnné indexy objemových a kvalitatívnych ukazovateľov, konštruované s rôznymi váhami, sú prepojené rovnako ako jednotlivé indexy: súčin súhrnného indexu fyzického objemu obchodného obratu a súhrnného cenového indexu dáva súhrnný index obchodného obratu:

Dostali sme systém vzájomne súvisiacich súhrnných indexov, z ktorých každý nám umožňuje určiť zmenu indexovaného ukazovateľa v relatívnom vyjadrení (%). Navyše pomocou týchto indexov je možné určiť zmenu všeobecného ukazovateľa - obchodného obratu vplyvom jednotlivých faktorov v absolútnom vyjadrení ako rozdiel medzi čitateľom a menovateľom príslušného indexu. Absolútne ukazovatele zmien obchodného obratu vplyvom jednotlivých faktorov spolu súvisia nasledovne.

Pozrime sa na vzťah medzi ukazovateľmi vypočítanými z našich vzorových údajov:

1. Súhrnné indexy: 1,024 = 0,975*1,037

2. absolútne zmeny: +38 miliónov rubľov = - 20 + 58 miliónov rubľov.

Systémy súhrnných indexov ostatných sú konštruované podobným spôsobom.

Základné vzorce na výpočet súhrnných alebo všeobecných indexov

Indexový názov

Vzorec

Čo ukazuje index?

Čo ukazuje hodnota indexu znížená o 100 %?

Aký je rozdiel medzi čitateľom a menovateľom?

Index fyzického objemu výroby (podľa ceny)

Koľkokrát sa zmenila cena produktu v dôsledku zmeny objemu jeho výroby alebo koľko percent bolo zvýšenie (zníženie) ceny produktu v dôsledku zmeny jeho fyzického objemu

O koľko percent sa zmenili náklady na výrobok v dôsledku zmeny objemu jeho výroby?

Koľko rubľov sa zmenili náklady na výrobky v dôsledku zvýšenia (zníženia) objemu jeho výroby?

Cenový index

Koľkokrát sa zmenila cena produktov v dôsledku zmien cien alebo koľko percent bolo zvýšenie (zníženie) ceny produktov v dôsledku zmien cien

O koľko percent sa zmenili výrobné náklady v dôsledku zmien cien?

Koľko rubľov sa zmenili náklady na výrobky v dôsledku zvýšenia (zníženia) cien?

Index ceny produktu (obrat)

Koľkokrát sa zmenila cena produktov, alebo koľko percent bol nárast (zníženie) ceny produktov v bežnom období v porovnaní so základným obdobím?

O koľko percent sa zmenili výrobné náklady v bežnom období v porovnaní so základným obdobím?

O koľko rubľov sa zmenili výrobné náklady v bežnom období v porovnaní so základným obdobím?

Index fyzického objemu výroby (v nákladoch)

Koľkokrát sa zmenili výrobné náklady výrobkov v dôsledku zmien objemu výroby, alebo koľko percent bolo zvýšenie (zníženie) výrobných nákladov v dôsledku zmien objemu výroby?

O koľko percent sa zmenili výrobné náklady v dôsledku zmien objemu výroby?

O koľko rubľov sa zmenili výrobné náklady v dôsledku zmien v objeme výroby?

Index nákladov produktu

Koľkokrát sa zmenili výrobné náklady v dôsledku zmien nákladov na produkt, alebo koľko percent bol nárast (zníženie) výrobných nákladov v dôsledku zmien nákladov na produkt?

O koľko percent sa zmenili výrobné náklady v dôsledku zmien nákladov na výrobky?

Koľko rubľov sa zmenili výrobné náklady v dôsledku zmien v nákladoch na výrobky?

Index výrobných nákladov

Koľkokrát sa zmenili výrobné náklady alebo koľko percent bol nárast (pokles) výrobných nákladov v bežnom období v porovnaní so základným obdobím?

O koľko percent sa zmenili výrobné náklady v bežnom období v porovnaní so základným obdobím?

Koľko rubľov sa zmenili výrobné náklady v bežnom období v porovnaní so základným obdobím?

Index fyzického objemu výroby (podľa náročnosti práce)

Koľkokrát sa zmenil čas strávený výrobou produktov v dôsledku zmien v objeme ich výroby, alebo koľko percent bol nárast (zníženie) času stráveného výrobou produktov v dôsledku zmien jeho fyzického objemu

O koľko percent sa zmenil čas strávený výrobou produktov v dôsledku zmien v objeme výroby?

Koľko človekohodín sa zmenil čas strávený výrobou produktov v dôsledku zvýšenia (zníženia) objemu jeho výroby?

Index intenzity práce

Koľkokrát sa zmenil čas strávený výrobou produktov v dôsledku zmien jeho náročnosti na prácu, alebo koľko percent bol nárast (zníženie) času stráveného výrobou produktov v dôsledku zmien jeho náročnosti na prácu?

O koľko percent sa zmenil čas strávený výrobou v dôsledku zmien jej náročnosti na prácu?

Koľko človekohodín sa zmenil čas strávený výrobou v dôsledku zvýšenia (zníženia) jej náročnosti na prácu?

Index času stráveného výrobou

Koľkokrát sa zmenil čas strávený výrobou produktov, alebo koľko percent bol nárast (pokles) nákladov na produkty v bežnom období v porovnaní so základným obdobím?

O koľko percent sa zmenil čas strávený výrobou v bežnom období v porovnaní so základným obdobím?

O koľko človekohodín sa zmenil čas strávený výrobou v aktuálnom období v porovnaní so základným obdobím?

Jeden z najdôležitejších spôsobov, ako dosiahnuť vysokú produktivitu SQL Server je použitie indexov. Index urýchľuje proces dotazovania tým, že poskytuje rýchly prístup k riadkom údajov v tabuľke, podobne ako index v knihe vám pomáha rýchlo nájsť informácie, ktoré potrebujete. V tomto článku uvediem stručný prehľad indexov v SQL Server a vysvetliť, ako sú usporiadané v databáze a ako pomáhajú urýchliť databázové dotazy.

Indexy sa vytvárajú v stĺpcoch tabuľky a zobrazenia. Indexy poskytujú spôsob, ako rýchlo vyhľadávať údaje na základe hodnôt v týchto stĺpcoch. Ak napríklad vytvoríte index na primárnom kľúči a potom vyhľadáte riadok údajov pomocou hodnôt primárneho kľúča, potom SQL Server najprv nájde hodnotu indexu a potom pomocou indexu rýchlo nájde celý riadok údajov. Bez indexu sa vykoná úplná kontrola všetkých riadkov v tabuľke, čo môže mať významný vplyv na výkon.
Index môžete vytvoriť pre väčšinu stĺpcov v tabuľke alebo zobrazení. Výnimku tvoria najmä stĺpce s dátovými typmi na ukladanie veľkých objektov ( LOB), ako napr obrázok, text alebo varchar(max). Môžete tiež vytvoriť indexy v stĺpcoch určených na ukladanie údajov vo formáte XML, ale tieto indexy sú štruktúrované trochu inak ako štandardné a ich zohľadnenie je nad rámec tohto článku. Tiež článok nerozoberá columnstore indexy. Namiesto toho sa sústredím na tie indexy, ktoré sa najčastejšie používajú v databázach SQL Server.
Index pozostáva zo sady stránok, indexových uzlov, ktoré sú usporiadané do stromovej štruktúry - vyvážený strom. Táto štruktúra je svojou povahou hierarchická a začína koreňovým uzlom v hornej časti hierarchie a listovými uzlami, listami, v spodnej časti, ako je znázornené na obrázku:


Keď dotazujete indexovaný stĺpec, dotazovací mechanizmus sa spustí v hornej časti koreňového uzla a postupuje smerom nadol cez medziľahlé uzly, pričom každá medzivrstva obsahuje podrobnejšie informácie o údajoch. Dotazovací mechanizmus pokračuje v pohybe cez indexové uzly, kým nedosiahne spodnú úroveň s listami indexu. Ak napríklad hľadáte hodnotu 123 v indexovanom stĺpci, vyhľadávací mechanizmus najprv určí stránku na prvej strednej úrovni na koreňovej úrovni. V tomto prípade prvá stránka ukazuje na hodnotu od 1 do 100 a druhá od 101 do 200, takže dopytovací nástroj pristúpi na druhú stránku tejto strednej úrovne. Ďalej uvidíte, že by ste sa mali obrátiť na tretiu stránku ďalšej strednej úrovne. Odtiaľto bude dotazovací subsystém čítať hodnotu samotného indexu na nižšej úrovni. Listy indexu môžu obsahovať buď samotné údaje tabuľky, alebo jednoducho ukazovateľ na riadky s údajmi v tabuľke, v závislosti od typu indexu: klastrovaný index alebo nezhlukovaný index.

Klastrovaný index
Klastrovaný index ukladá skutočné riadky údajov do listov indexu. Ak sa vrátime k predchádzajúcemu príkladu, znamená to, že riadok údajov priradený k hodnote kľúča 123 bude uložený v samotnom indexe. Dôležitou charakteristikou zoskupeného indexu je, že všetky hodnoty sú zoradené v určitom poradí, buď vzostupne alebo zostupne. Preto tabuľka alebo zobrazenie môže mať iba jeden klastrovaný index. Okrem toho je potrebné poznamenať, že údaje v tabuľke sú uložené v triedenej forme iba vtedy, ak bol na tejto tabuľke vytvorený klastrovaný index.
Tabuľka, ktorá nemá klastrovaný index, sa nazýva halda.
Nezhlukovaný index
Na rozdiel od zoskupeného indexu obsahujú listy nezhlukovaného indexu iba tieto stĺpce ( kľúč), ktorým je tento index určený, a obsahuje aj ukazovateľ na riadky s reálnymi údajmi v tabuľke. To znamená, že systém poddotazov vyžaduje ďalšiu operáciu na nájdenie a získanie požadovaných údajov. Obsah ukazovateľa údajov závisí od toho, ako sú údaje uložené: klastrovaná tabuľka alebo halda. Ak ukazovateľ ukazuje na klastrovanú tabuľku, ukazuje na klastrovaný index, ktorý možno použiť na nájdenie skutočných údajov. Ak ukazovateľ odkazuje na haldu, potom ukazuje na konkrétny identifikátor riadka údajov. Neklastrované indexy nie je možné triediť ako klastrované indexy, ale v tabuľke alebo zobrazení môžete vytvoriť viac ako jeden neklastrovaný index, až do 999. To neznamená, že by ste mali vytvoriť čo najviac indexov. Indexy môžu zlepšiť alebo znížiť výkon systému. Okrem možnosti vytvárať viaceré indexy bez klastrov môžete zahrnúť aj ďalšie stĺpce ( zahrnutý stĺpec) do svojho indexu: listy indexu uložia nielen hodnotu samotných indexovaných stĺpcov, ale aj hodnoty týchto neindexovaných dodatočných stĺpcov. Tento prístup vám umožní obísť niektoré obmedzenia kladené na index. Môžete napríklad zahrnúť neindexovateľný stĺpec alebo obísť limit dĺžky indexu (vo väčšine prípadov 900 bajtov).

Typy indexov

Okrem toho, že ide o klastrovaný alebo nezhlukovaný index, môže byť ďalej nakonfigurovaný ako zložený index, jedinečný index alebo krycí index.
Zložený index
Takýto index môže obsahovať viac ako jeden stĺpec. Do indexu môžete zahrnúť až 16 stĺpcov, ale ich celková dĺžka je obmedzená na 900 bajtov. Klastrované aj nezhlukované indexy môžu byť zložené.
Jedinečný index
Tento index zaisťuje, že každá hodnota v indexovanom stĺpci je jedinečná. Ak je index zložený, potom jedinečnosť platí pre všetky stĺpce v indexe, ale nie pre každý jednotlivý stĺpec. Napríklad, ak vytvoríte jedinečný index na stĺpcoch NÁZOV A PRIEZVISKO, potom musí byť celé meno jedinečné, ale duplikáty mena alebo priezviska sú možné.
Jedinečný index sa automaticky vytvorí, keď definujete obmedzenie stĺpca: obmedzenie primárneho kľúča alebo jedinej hodnoty:
  • Primárny kľúč
    Keď definujete obmedzenie primárneho kľúča v jednom alebo viacerých stĺpcoch, potom SQL Server automaticky vytvorí jedinečný klastrovaný index, ak klastrovaný index ešte nebol vytvorený (v tomto prípade sa na primárnom kľúči vytvorí jedinečný nezhlukovaný index)
  • Jedinečnosť hodnôt
    Keď definujete obmedzenie jedinečnosti hodnôt SQL Server automaticky vytvorí jedinečný index bez klastrov. Môžete určiť, že sa vytvorí jedinečný klastrovaný index, ak v tabuľke ešte nebol vytvorený žiadny klastrovaný index
Krycí index
Takýto index umožňuje špecifickému dotazu okamžite získať všetky potrebné údaje z listov indexu bez dodatočného prístupu k záznamom samotnej tabuľky.

Navrhovanie indexov

Akokoľvek užitočné môžu byť indexy, musia byť navrhnuté starostlivo. Pretože indexy môžu zaberať značné miesto na disku, nechcete vytvárať viac indexov, ako je potrebné. Okrem toho sa indexy automaticky aktualizujú, keď sa aktualizuje samotný riadok údajov, čo môže viesť k dodatočnej réžii prostriedkov a zníženiu výkonu. Pri navrhovaní indexov je potrebné vziať do úvahy niekoľko aspektov týkajúcich sa databázy a dotazov proti nej.
Databáza
Ako už bolo uvedené, indexy môžu zlepšiť výkon systému, pretože poskytujú vyhľadávaciemu nástroju rýchly spôsob vyhľadávania údajov. Mali by ste však vziať do úvahy aj to, ako často máte v úmysle vkladať, aktualizovať alebo mazať údaje. Keď zmeníte údaje, musia sa zmeniť aj indexy, aby odrážali zodpovedajúce akcie s údajmi, čo môže výrazne znížiť výkon systému. Pri plánovaní stratégie indexovania zvážte nasledujúce pokyny:
  • Pre tabuľky, ktoré sa často aktualizujú, použite čo najmenej indexov.
  • Ak tabuľka obsahuje veľké množstvo údajov, ale zmeny sú menšie, použite toľko indexov, koľko je potrebné na zlepšenie výkonu vašich dotazov. Pred použitím indexov na malých tabuľkách si však dobre premyslite, pretože... Je možné, že používanie indexového vyhľadávania môže trvať dlhšie ako jednoduché skenovanie všetkých riadkov.
  • Pri klastrovaných indexoch sa snažte udržiavať polia čo najkratšie. Najlepším prístupom je použitie zoskupeného indexu v stĺpcoch, ktoré majú jedinečné hodnoty a neumožňujú NULL. To je dôvod, prečo sa primárny kľúč často používa ako klastrovaný index.
  • Jedinečnosť hodnôt v stĺpci ovplyvňuje výkon indexu. Vo všeobecnosti platí, že čím viac duplikátov máte v stĺpci, tým horšiu výkonnosť indexu. Na druhej strane, čím viac jedinečných hodnôt je, tým lepší je výkon indexu. Vždy, keď je to možné, použite jedinečný index.
  • Pri zloženom indexe vezmite do úvahy poradie stĺpcov v indexe. Stĺpce, ktoré sa používajú vo výrazoch KDE(Napríklad, WHERE Meno = "Charlie") musí byť na prvom mieste v indexe. Nasledujúce stĺpce by mali byť uvedené na základe jedinečnosti ich hodnôt (stĺpce s najvyšším počtom jedinečných hodnôt sú na prvom mieste).
  • Môžete tiež zadať index pre vypočítané stĺpce, ak spĺňajú určité požiadavky. Napríklad výrazy použité na získanie hodnoty stĺpca musia byť deterministické (vždy vrátia rovnaký výsledok pre danú množinu vstupných parametrov).
Databázové dotazy
Ďalšou úvahou pri navrhovaní indexov je to, aké dotazy sa spúšťajú proti databáze. Ako už bolo uvedené, musíte zvážiť, ako často sa údaje menia. Okrem toho by sa mali dodržiavať tieto zásady:
  • Skúste vložiť alebo upraviť čo najviac riadkov do jedného dotazu, namiesto toho, aby ste to robili v niekoľkých samostatných dotazoch.
  • Vytvorte index bez klastrov v stĺpcoch, ktoré sa často používajú ako hľadané výrazy vo vašich dopytoch. KDE a spojenia v PRIPOJTE SA.
  • Zvážte indexovanie stĺpcov používaných vo vyhľadávacích dopytoch riadkov na presné zhody hodnôt.

A teraz vlastne:

14 otázok o indexoch v SQL Server, ktoré ste sa hanbili položiť

Prečo nemôže mať tabuľka dva zoskupené indexy?

Chcete krátku odpoveď? Klastrovaný index je tabuľka. Keď vytvoríte klastrovaný index v tabuľke, úložný mechanizmus zoradí všetky riadky v tabuľke vo vzostupnom alebo zostupnom poradí podľa definície indexu. Klastrovaný index nie je samostatná entita ako iné indexy, ale mechanizmus na triedenie údajov v tabuľke a uľahčenie rýchleho prístupu k riadkom údajov.
Predstavme si, že máte tabuľku obsahujúcu históriu predajných transakcií. Tabuľka Predaj obsahuje informácie ako ID objednávky, pozícia produktu v objednávke, číslo produktu, množstvo produktu, číslo a dátum objednávky atď. Vytvoríte klastrovaný index na stĺpcoch Číslo objednávky A LineID, zoradené vo vzostupnom poradí, ako je uvedené nižšie T-SQL kód:
VYTVORIŤ JEDINEČNÝ KLUSTEROVÝ INDEX ix_oriderid_lineid ON dbo.Sales(ID objednávky, ID riadku);
Keď spustíte tento skript, všetky riadky v tabuľke budú fyzicky zoradené najprv podľa stĺpca OrderID a potom podľa LineID, ale samotné údaje zostanú v jedinom logickom bloku, tabuľke. Z tohto dôvodu nemôžete vytvoriť dva klastrované indexy. Môže existovať iba jedna tabuľka s jedným údajom a táto tabuľka môže byť zoradená iba raz v určitom poradí.

Ak klastrovaná tabuľka poskytuje veľa výhod, tak prečo používať haldu?

Máš pravdu. Klastrované tabuľky sú skvelé a väčšina vašich dotazov bude fungovať lepšie v tabuľkách, ktoré majú klastrovaný index. Ale v niektorých prípadoch možno budete chcieť ponechať stoly v ich prirodzenom, pôvodnom stave, t.j. vo forme haldy a vytvorte iba indexy bez klastrov, aby vaše dotazy zostali v chode.
Ako si pamätáte, halda ukladá údaje v náhodnom poradí. Úložný subsystém zvyčajne pridáva údaje do tabuľky v poradí, v akom sú vložené, no úložný subsystém tiež rád presúva riadky, aby bolo ukladanie efektívnejšie. Tým pádom nemáte šancu predpovedať, v akom poradí budú dáta uložené.
Ak dopytovací nástroj potrebuje nájsť údaje bez výhody nezhlukovaného indexu, vykoná úplné skenovanie tabuľky, aby našiel riadky, ktoré potrebuje. Na veľmi malých stoloch to zvyčajne nie je problém, ale ako sa halda zväčšuje, výkon rýchlo klesá. Samozrejme, neklastrovaný index môže pomôcť pomocou ukazovateľa na súbor, stránku a riadok, kde sú uložené požadované údaje – to je zvyčajne oveľa lepšia alternatíva k skenovaniu tabuľky. Napriek tomu je ťažké porovnávať výhody klastrovaného indexu pri zvažovaní výkonu dotazov.
Halda však môže pomôcť zlepšiť výkon v určitých situáciách. Uvažujme o tabuľke s množstvom vložiek, ale málo aktualizácií alebo vymazaní. Napríklad tabuľka s protokolom sa primárne používa na vkladanie hodnôt, kým nie je archivovaná. Na halde neuvidíte stránkovanie a fragmentáciu údajov ako pri klastrovanom indexe, pretože riadky sa jednoducho pridajú na koniec haldy. Prílišné rozdelenie stránok môže mať významný vplyv na výkon, a to nie práve v dobrom zmysle. Vo všeobecnosti vám halda umožňuje vkladať údaje relatívne bezbolestne a nebudete musieť riešiť režijné náklady na ukladanie a údržbu, ktoré by ste museli riešiť pri klastrovanom indexe.
Nedostatok aktualizácie a odstraňovania údajov by sa však nemal považovať za jediný dôvod. Dôležitým faktorom je aj spôsob vzorkovania údajov. Napríklad by ste nemali používať haldu, ak často dopytujete rozsahy údajov alebo údaje, ktoré dopytujete, je často potrebné triediť alebo zoskupovať.
To všetko znamená, že o použití haldy by ste mali uvažovať iba vtedy, keď pracujete s veľmi malými tabuľkami alebo ak je všetka vaša interakcia s tabuľkou obmedzená na vkladanie údajov a vaše dotazy sú mimoriadne jednoduché (a používate indexy bez klastrov). tak či tak). V opačnom prípade sa držte dobre navrhnutého zoskupeného indexu, napríklad indexu definovaného v jednoduchom vzostupnom kľúčovom poli, ako je široko používaný stĺpec s IDENTITA.

Ako zmením predvolený faktor plnenia indexu?

Zmena predvoleného faktora plnenia indexu je jedna vec. Pochopenie toho, ako funguje predvolený pomer, je druhá vec. Najprv však urobte pár krokov späť. Faktor plnenia indexu určuje množstvo priestoru na stránke na uloženie indexu na spodnej úrovni (úroveň listu) pred začatím vypĺňania novej strany. Napríklad, ak je koeficient nastavený na 90, potom keď index narastie, zaberie 90 % stránky a potom sa presunie na ďalšiu stránku.
V predvolenom nastavení je hodnota faktora plnenia indexu in SQL Server je 0, čo je rovnaké ako 100. Výsledkom je, že všetky nové indexy automaticky zdedia toto nastavenie, pokiaľ vo svojom kóde špecificky nezadáte hodnotu, ktorá sa líši od systémovej štandardnej hodnoty alebo nezmeníte predvolené správanie. Môžeš použiť SQL Server Management Studio upraviť predvolenú hodnotu alebo spustiť systémovú uloženú procedúru sp_configure. Napríklad nasledujúca sada T-SQL príkaz nastaví hodnotu koeficientu na 90 (najprv sa musíte prepnúť do režimu pokročilých nastavení):
EXEC sp_configure "zobraziť rozšírené možnosti", 1; PREJSŤ PREKONFIGURÁCIU; GO EXEC sp_configure "faktor plnenia", 90; PREJSŤ PREKONFIGURÁCIU; Ísť
Po zmene hodnoty faktora plnenia indexu musíte reštartovať službu SQL Server. Teraz môžete skontrolovať nastavenú hodnotu spustením sp_configure bez zadaného druhého argumentu:
EXEC sp_configure "faktor plnenia" GO
Tento príkaz by mal vrátiť hodnotu 90. V dôsledku toho budú všetky novovytvorené indexy používať túto hodnotu. Môžete to otestovať vytvorením indexu a dotazom na hodnotu faktora plnenia:
POUŽÍVAJTE AdventureWorks2012; -- vaša databáza GO CREATE NENCLUSTERED INDEX ix_people_lastname ON Person.Person(LastName); GO SELECT fill_factor FROM sys.indexes WHERE object_id = object_id("Person.Person") AND name="ix_people_priezvisko";
V tomto príklade sme vytvorili neklastrovaný index na tabuľke Osoba v databáze AdventureWorks2012. Po vytvorení indexu môžeme získať hodnotu faktora plnenia zo systémových tabuliek sys.indexes. Dopyt by mal vrátiť 90.
Predstavme si však, že sme index vymazali a vytvorili znova, ale teraz sme zadali konkrétnu hodnotu faktora plnenia:
CREATE NENCLUSTERED INDEX ix_people_lastname ON Person.Person(Priezvisko) WITH (fillfactor=80); GO SELECT fill_factor FROM sys.indexes WHERE object_id = object_id("Person.Person") AND name="ix_people_priezvisko";
Tentokrát sme pridali návod S a možnosť fillfactor pre našu operáciu vytvorenia indexu VYTVORIŤ INDEX a špecifikoval hodnotu 80. Operátor VYBRAŤ teraz vráti zodpovedajúcu hodnotu.
Doteraz bolo všetko celkom jednoduché. V celom tomto procese sa môžete skutočne popáliť, keď vytvoríte index, ktorý používa predvolenú hodnotu koeficientu, za predpokladu, že túto hodnotu poznáte. Napríklad, niekto sa hrá s nastaveniami servera a je taký tvrdohlavý, že nastavil faktor plnenia indexu na 20. Medzitým pokračujete vo vytváraní indexov za predpokladu, že predvolená hodnota je 0. Bohužiaľ, nemáte spôsob, ako zistiť vyplnenie faktor, kým nevytvoríte index a potom skontrolujete hodnotu, ako sme to urobili v našich príkladoch. V opačnom prípade budete musieť počkať na okamih, keď výkon dotazu klesne natoľko, že začnete niečo tušiť.
Ďalším problémom, o ktorom by ste si mali byť vedomí, je prebudovanie indexov. Rovnako ako pri vytváraní indexu môžete pri jeho prestavbe zadať hodnotu faktora plnenia indexu. Na rozdiel od príkazu create index však rebuild nepoužíva predvolené nastavenia servera, napriek tomu, ako sa to môže zdať. Ešte viac, ak špecificky nešpecifikujete hodnotu faktora plnenia indexu, potom SQL Server použije hodnotu koeficientu, s ktorým tento index existoval pred jeho reštrukturalizáciou. Napríklad nasledujúca operácia ZMENIŤ INDEX prebuduje index, ktorý sme práve vytvorili:
ALTER INDEX ix_people_priezvisko ON Person.Person REBUILD; GO SELECT fill_factor FROM sys.indexes WHERE object_id = object_id("Person.Person") AND name="ix_people_priezvisko";
Keď skontrolujeme hodnotu faktora plnenia, dostaneme hodnotu 80, pretože to sme zadali pri poslednom vytváraní indexu. Predvolená hodnota sa ignoruje.
Ako vidíte, zmena hodnoty faktora plnenia indexu nie je až taká náročná. Je oveľa ťažšie poznať aktuálnu hodnotu a pochopiť, kedy sa aplikuje. Ak pri vytváraní a prestavbe indexov vždy konkrétne špecifikujete koeficient, tak vždy poznáte konkrétny výsledok. Pokiaľ sa nebudete musieť starať o to, aby niekto iný znova nepokazil nastavenia servera, čo by spôsobilo prebudovanie všetkých indexov so smiešne nízkym faktorom plnenia indexov.

Je možné vytvoriť klastrovaný index v stĺpci, ktorý obsahuje duplikáty?

Áno a nie. Áno, môžete vytvoriť klastrovaný index v stĺpci kľúča, ktorý obsahuje duplicitné hodnoty. Nie, hodnota kľúčového stĺpca nemôže zostať v nejedinečnom stave. Nechaj ma vysvetliť. Ak vytvoríte nejedinečný klastrovaný index v stĺpci, ukladací mechanizmus pridá k duplicitnej hodnote uniquifikátor, aby sa zabezpečila jedinečnosť, a preto bolo možné identifikovať každý riadok v klastrovanej tabuľke.
Môžete sa napríklad rozhodnúť vytvoriť klastrovaný index v stĺpci obsahujúcom údaje o zákazníkoch Priezvisko ponechanie si priezviska. Stĺpec obsahuje hodnoty Franklin, Hancock, Washington a Smith. Potom znova vložte hodnoty Adams, Hancock, Smith a Smith. Hodnota kľúčového stĺpca však musí byť jedinečná, takže ukladací mechanizmus zmení hodnotu duplikátov tak, aby vyzerali asi takto: Adams, Franklin, Hancock, Hancock1234, Washington, Smith, Smith4567 a Smith5678.
Na prvý pohľad sa tento prístup zdá byť v poriadku, ale celočíselná hodnota zväčšuje veľkosť kľúča, čo sa môže stať problémom, ak existuje veľký počet duplikátov a tieto hodnoty sa stanú základom nezhlukovaného indexu alebo cudzieho kľúčová referencia. Z týchto dôvodov by ste sa vždy, keď je to možné, mali snažiť vytvoriť jedinečné klastrované indexy. Ak to nie je možné, skúste aspoň použiť stĺpce s veľmi vysokým obsahom unikátnej hodnoty.

Ako sa uloží tabuľka, ak nebol vytvorený klastrovaný index?

SQL Server podporuje dva typy tabuliek: klastrované tabuľky, ktoré majú klastrovaný index a haldové tabuľky alebo len haldy. Na rozdiel od klastrovaných tabuliek nie sú údaje na halde nijako zoradené. V podstate ide o kopu (hromadu) dát. Ak do takejto tabuľky pridáte riadok, ukladací mechanizmus ho jednoducho pridá na koniec stránky. Keď sa stránka naplní údajmi, pridá sa na novú stránku. Vo väčšine prípadov budete chcieť vytvoriť klastrovaný index v tabuľke, aby ste využili výhody zoraditeľnosti a rýchlosti dopytov (skúste si predstaviť, že hľadáte telefónne číslo v nezoradenom adresári). Ak sa však rozhodnete nevytvoriť klastrovaný index, stále môžete na halde vytvoriť neklastrovaný index. V tomto prípade bude mať každý riadok indexu ukazovateľ na riadok haldy. Index obsahuje ID súboru, číslo stránky a číslo dátového riadku.

Aký je vzťah medzi obmedzeniami jedinečnosti hodnoty a primárnym kľúčom s indexmi tabuliek?

Primárny kľúč a jedinečné obmedzenie zabezpečujú, že hodnoty v stĺpci sú jedinečné. Pre tabuľku môžete vytvoriť iba jeden primárny kľúč a nemôže obsahovať hodnoty NULOVÝ. Pre tabuľku môžete vytvoriť niekoľko obmedzení jedinečnosti hodnoty a každá z nich môže mať jeden záznam NULOVÝ.
Keď vytvoríte primárny kľúč, ukladací mechanizmus tiež vytvorí jedinečný klastrovaný index, ak klastrovaný index ešte nebol vytvorený. Predvolené správanie však môžete prepísať a vytvorí sa index bez klastrov. Ak pri vytváraní primárneho kľúča existuje klastrovaný index, vytvorí sa jedinečný nezhlukovaný index.
Keď vytvoríte jedinečné obmedzenie, ukladací mechanizmus vytvorí jedinečný, nezhlukovaný index. Môžete však určiť vytvorenie jedinečného klastrovaného indexu, ak ešte nebol vytvorený.
Vo všeobecnosti sú jedinečné obmedzenie hodnoty a jedinečný index to isté.

Prečo sa klastrované a neklastrované indexy na SQL Serveri nazývajú B-strom?

Základné indexy na serveri SQL Server, klastrované alebo neklastrované, sú distribuované cez sady stránok nazývané indexové uzly. Tieto stránky sú usporiadané v špecifickej hierarchii so stromovou štruktúrou nazývanou vyvážený strom. Na najvyššej úrovni je koreňový uzol, na spodnej strane sú listové uzly, s medziľahlými uzlami medzi hornou a spodnou úrovňou, ako je znázornené na obrázku:


Koreňový uzol poskytuje hlavný vstupný bod pre dotazy, ktoré sa pokúšajú získať údaje cez index. Počnúc týmto uzlom spustí dopytovací mechanizmus navigáciu nadol v hierarchickej štruktúre k príslušnému koncovému uzlu obsahujúcemu údaje.
Predstavte si napríklad, že bola prijatá požiadavka na výber riadkov obsahujúcich kľúčovú hodnotu 82. Dopytový subsystém začne pracovať od koreňového uzla, ktorý odkazuje na vhodný medziľahlý uzol, v našom prípade 1-100. Z medziľahlého uzla 1-100 je prechod do uzla 51-100 a odtiaľ do konečného uzla 76-100. Ak ide o klastrovaný index, potom list uzla obsahuje údaje riadka spojeného s kľúčom rovným 82. Ak ide o index bez klastrov, potom list indexu obsahuje ukazovateľ na klastrovanú tabuľku alebo konkrétny riadok v hromada.

Ako môže index dokonca zlepšiť výkon dotazov, ak musíte prejsť cez všetky tieto indexové uzly?

Po prvé, indexy nie vždy zlepšujú výkon. Príliš veľa nesprávne vytvorených indexov mení systém na bahno a znižuje výkon dotazov. Je presnejšie povedať, že ak sú indexy aplikované opatrne, môžu poskytnúť významné zvýšenie výkonu.
Spomeňte si na obrovskú knihu venovanú ladeniu výkonu SQL Server(papierová verzia, nie elektronická verzia). Predstavte si, že chcete nájsť informácie o konfigurácii Resource Governor. Môžete posúvať prstom stránku po stránke cez celú knihu alebo otvoriť obsah a zistiť presné číslo strany s hľadanými informáciami (za predpokladu, že kniha je správne indexovaná a obsah má správne indexy). To vám určite ušetrí značný čas, aj keď najprv musíte získať prístup k úplne inej štruktúre (indexu), aby ste získali potrebné informácie z primárnej štruktúry (knihy).
Ako knižný index, index v SQL Server umožňuje spúšťať presné dotazy na údaje, ktoré potrebujete, namiesto úplného skenovania všetkých údajov obsiahnutých v tabuľke. Pri malých tabuľkách nie je úplné skenovanie zvyčajne problémom, ale veľké tabuľky zaberajú veľa strán údajov, čo môže mať za následok značný čas vykonania dotazu, pokiaľ neexistuje index, ktorý by dotazovaciemu mechanizmu umožnil okamžite získať správne umiestnenie údajov. Predstavte si, že sa stratíte na viacúrovňovej križovatke pred veľkou metropolou bez mapy a dostanete nápad.

Ak sú indexy také skvelé, prečo jednoducho nevytvoriť jeden pre každý stĺpec?

Žiadny dobrý skutok by nemal zostať nepotrestaný. Aspoň to je prípad indexov. Indexy samozrejme fungujú skvele, pokiaľ spúšťate dotazy operátora na načítanie VYBRAŤ, ale hneď ako začnú časté hovory operátorom VLOŽIŤ, AKTUALIZOVAŤ A VYMAZAŤ, takže krajina sa veľmi rýchlo mení.
Keď spustíte žiadosť o údaje operátora VYBRAŤ vyhľadávací nástroj nájde index, prejde jeho stromovou štruktúrou a objaví údaje, ktoré hľadá. Čo môže byť jednoduchšie? Ale veci sa zmenia, ak iniciujete vyhlásenie o zmene ako AKTUALIZOVAŤ. Áno, pre prvú časť príkazu môže dotazovací nástroj opäť použiť index na nájdenie upravovaného riadku – to je dobrá správa. A ak dôjde k jednoduchej zmene údajov v riadku, ktorá neovplyvní zmeny v kľúčových stĺpcoch, proces zmeny bude úplne bezbolestný. Čo však v prípade, ak zmena spôsobí rozdelenie stránok obsahujúcich údaje alebo sa zmení hodnota kľúčového stĺpca, čo spôsobí jeho presunutie do iného indexového uzla – to bude mať za následok, že index bude pravdepodobne potrebovať reorganizáciu ovplyvňujúcu všetky súvisiace indexy a operácie čo má za následok rozsiahly pokles produktivity.
Podobné procesy sa vyskytujú pri volaní operátora VYMAZAŤ. Index môže pomôcť nájsť vymazávané údaje, ale vymazanie samotných údajov môže viesť k preusporiadaniu stránok. Ohľadom operátora VLOŽIŤ, hlavný nepriateľ všetkých indexov: začnete pridávať veľké množstvo dát, čo vedie k zmenám v indexoch a ich reorganizácii a všetci trpia.
Pri premýšľaní o tom, aký typ indexov a koľko ich vytvoriť, preto zvážte typy dopytov do databázy. Viac neznamená lepšie. Pred pridaním nového indexu do tabuľky zvážte nielen náklady na základné dopyty, ale aj množstvo spotrebovaného miesta na disku, náklady na údržbu funkčnosti a indexov, čo môže viesť k dominovému efektu na iné operácie. Vaša stratégia návrhu indexu je jedným z najdôležitejších aspektov vašej implementácie a mala by zahŕňať mnoho aspektov, od veľkosti indexu, počtu jedinečných hodnôt až po typ dopytov, ktoré bude index podporovať.

Je potrebné vytvoriť klastrovaný index na stĺpci s primárnym kľúčom?

Klastrovaný index môžete vytvoriť v ľubovoľnom stĺpci, ktorý spĺňa požadované podmienky. Je pravda, že klastrovaný index a obmedzenie primárneho kľúča sú vytvorené jeden pre druhého a sú zhodné v nebesiach, takže pochopte skutočnosť, že keď vytvoríte primárny kľúč, potom sa automaticky vytvorí klastrovaný index, ak ešte nebol vytvorený. vytvorené predtým. Môžete sa však rozhodnúť, že klastrovaný index by inde fungoval lepšie a vaše rozhodnutie bude často opodstatnené.
Hlavným účelom klastrovaného indexu je zoradiť všetky riadky vo vašej tabuľke na základe kľúčového stĺpca zadaného pri definovaní indexu. To poskytuje rýchle vyhľadávanie a jednoduchý prístup k údajom tabuľky.
Primárny kľúč tabuľky môže byť dobrou voľbou, pretože jedinečne identifikuje každý riadok v tabuľkách bez toho, aby ste museli pridávať ďalšie údaje. V niektorých prípadoch bude najlepšou voľbou náhradný primárny kľúč, ktorý je nielen jedinečný, ale má aj malú veľkosť a ktorého hodnoty sa postupne zvyšujú, vďaka čomu sú nezhlukované indexy založené na tejto hodnote efektívnejšie. Optimalizátor dotazov má tiež rád túto kombináciu klastrovaného indexu a primárneho kľúča, pretože spájanie tabuliek je rýchlejšie ako spájanie iným spôsobom, ktorý nepoužíva primárny kľúč a jeho priradený klastrovaný index. Ako som povedal, je to zápas vyrobený v nebi.
Nakoniec však stojí za zmienku, že pri vytváraní klastrovaného indexu je potrebné zvážiť niekoľko aspektov: koľko neklastrovaných indexov bude na ňom založených, ako často sa bude meniť hodnota stĺpca kľúčového indexu a aká veľká. Keď sa hodnoty v stĺpcoch klastrovaného indexu zmenia alebo index nefunguje podľa očakávania, môžu byť ovplyvnené všetky ostatné indexy v tabuľke. Klastrovaný index by mal byť založený na najtrvalejšom stĺpci, ktorého hodnoty sa zvyšujú v určitom poradí, ale nemenia sa náhodným spôsobom. Index musí podporovať dotazy na najčastejšie prístupné údaje tabuľky, takže dotazy plne využívajú skutočnosť, že údaje sú triedené a prístupné v koreňových uzloch, listoch indexu. Ak primárny kľúč vyhovuje tomuto scenáru, použite ho. Ak nie, vyberte inú sadu stĺpcov.

Čo ak indexujete zobrazenie, je to stále zobrazenie?

Pohľad je virtuálna tabuľka, ktorá generuje údaje z jednej alebo viacerých tabuliek. V podstate ide o pomenovaný dotaz, ktorý načíta údaje zo základných tabuliek, keď zadáte dotaz na toto zobrazenie. Výkon dotazov môžete zlepšiť vytvorením klastrovaného indexu a neklastrovaných indexov v tomto zobrazení, podobne ako pri vytváraní indexov v tabuľke, ale hlavnou výzvou je, že najprv vytvoríte klastrovaný index a potom môžete vytvoriť neklastrovaný.
Keď sa vytvorí indexované zobrazenie (materializované zobrazenie), samotná definícia pohľadu zostane samostatnou entitou. Toto je predsa len pevne zakódovaný operátor VYBRAŤ, uložený v databáze. Ale index je úplne iný príbeh. Keď vytvoríte klastrovaný alebo neklastrovaný index na poskytovateľovi, údaje sa fyzicky uložia na disk, rovnako ako bežný index. Okrem toho, keď sa zmenia údaje v podkladových tabuľkách, index zobrazenia sa automaticky zmení (to znamená, že sa možno budete chcieť vyhnúť indexovaniu zobrazení v tabuľkách, ktoré sa často menia). V každom prípade pohľad zostáva pohľadom - pohľadom na tabuľky, ale práve vykonávaným, s indexmi, ktoré mu zodpovedajú.
Pred vytvorením indexu v zobrazení musí spĺňať niekoľko obmedzení. Pohľad môže napríklad odkazovať iba na základné tabuľky, ale nie na iné zobrazenia a tieto tabuľky musia byť v rovnakej databáze. V skutočnosti existuje mnoho ďalších obmedzení, takže si skontrolujte dokumentáciu SQL Server pre všetky špinavé detaily.

Prečo používať krycí index namiesto zloženého indexu?

Najprv sa uistite, že rozumieme rozdielu medzi týmito dvoma. Zložený index je jednoducho bežný index, ktorý obsahuje viac ako jeden stĺpec. Je možné použiť viacero stĺpcov kľúča, aby ste sa uistili, že každý riadok v tabuľke je jedinečný, alebo môžete mať viacero stĺpcov, aby ste sa uistili, že primárny kľúč je jedinečný, alebo sa možno pokúšate optimalizovať vykonávanie často vyvolávaných dotazov vo viacerých stĺpcoch. Vo všeobecnosti však platí, že čím viac kľúčových stĺpcov index obsahuje, tým menej efektívny bude index, čo znamená, že zložené indexy by sa mali používať uvážlivo.
Ako už bolo uvedené, dotazu môže veľmi prospieť, ak sú všetky požadované údaje okamžite umiestnené na listoch indexu, rovnako ako samotný index. Toto nie je problém pre klastrovaný index, pretože všetky údaje tam už sú (preto je také dôležité starostlivo premýšľať, keď vytvárate klastrovaný index). Ale nezhlukovaný index na listoch obsahuje iba kľúčové stĺpce. Ak chcete získať prístup ku všetkým ostatným údajom, optimalizátor dotazov vyžaduje ďalšie kroky, ktoré môžu výrazne zvýšiť réžiu pri vykonávaní vašich dotazov.
Tu prichádza na pomoc krycí index. Keď definujete index bez klastrov, môžete do kľúčových stĺpcov zadať ďalšie stĺpce. Povedzme napríklad, že vaša aplikácia často dopytuje údaje stĺpcov Číslo objednávky A Dátum objednávky v tabulke Predaj:
SELECT OrderID, OrderDate FROM Sales WHERE OrderID = 12345;
V oboch stĺpcoch môžete vytvoriť zložený index bez klastrov, ale stĺpec Dátum objednávky pridá iba réžiu údržby indexu bez toho, aby slúžil ako obzvlášť užitočný kľúčový stĺpec. Najlepším riešením by bolo vytvoriť krycí index na kľúčovom stĺpci Číslo objednávky a dodatočne zahrnutý stĺpec Dátum objednávky:
CREATE NENCLUSTERED INDEX ix_orderid ON dbo.Sales(OrderID) INCLUDE (OrderDate);
Tým sa vyhnete nevýhodám indexovania redundantných stĺpcov a zároveň sa zachovajú výhody ukladania údajov do listov pri spúšťaní dotazov. Zahrnutý stĺpec nie je súčasťou kľúča, ale údaje sú uložené na listovom uzle, indexovom liste. To môže zlepšiť výkon dotazov bez akejkoľvek ďalšej réžie. Okrem toho, stĺpce zahrnuté v krycom indexe podliehajú menším obmedzeniam ako kľúčové stĺpce indexu.

Záleží na počte duplikátov v kľúčovom stĺpci?

Pri vytváraní indexu sa musíte pokúsiť znížiť počet duplikátov v kľúčových stĺpcoch. Alebo presnejšie: snažte sa, aby frekvencia opakovania bola čo najnižšia.
Ak pracujete so zloženým indexom, potom sa duplikácia vzťahuje na všetky kľúčové stĺpce ako celok. Jeden stĺpec môže obsahovať veľa duplicitných hodnôt, ale medzi všetkými stĺpcami indexu by malo byť minimálne opakovanie. Napríklad vytvoríte zložený nezhlukovaný index na stĺpcoch Krstné meno A Priezvisko, môžete mať veľa hodnôt John Doe a veľa hodnôt Doe, ale chcete mať čo najmenej hodnôt John Doe, alebo najlepšie len jednu hodnotu John Doe.
Pomer jedinečnosti hodnôt kľúčového stĺpca sa nazýva indexová selektivita. Čím viac jedinečných hodnôt je, tým vyššia je selektivita: jedinečný index má najväčšiu možnú selektivitu. Dotazovací nástroj má naozaj rád stĺpce s vysokými hodnotami selektivity, najmä ak sú tieto stĺpce zahrnuté v klauzulách WHERE vašich najčastejšie vykonávaných dotazov. Čím selektívnejší je index, tým rýchlejšie dokáže dotazovací nástroj zmenšiť veľkosť výslednej množiny údajov. Nevýhodou samozrejme je, že stĺpce s relatívne malým počtom jedinečných hodnôt budú len zriedka dobrými kandidátmi na indexovanie.

Je možné vytvoriť index bez klastrov iba na špecifickej podmnožine údajov kľúčového stĺpca?

V predvolenom nastavení obsahuje nezhlukovaný index jeden riadok pre každý riadok v tabuľke. Samozrejme, to isté môžete povedať o klastrovanom indexe za predpokladu, že takýto index je tabuľka. Ale pokiaľ ide o nezhlukovaný index, vzťah jedna k jednej je dôležitým konceptom, pretože počnúc verziou SQL Server 2008, máte možnosť vytvoriť filtrovateľný index, ktorý obmedzí počet riadkov v ňom zahrnutých. Filtrovaný index môže zlepšiť výkon dotazu, pretože... má menšiu veľkosť a obsahuje filtrované presnejšie štatistiky ako všetky tabuľkové - to vedie k vytvoreniu vylepšených plánov vykonávania. Filtrovaný index tiež vyžaduje menej úložného priestoru a nižšie náklady na údržbu. Index sa aktualizuje iba vtedy, keď sa zmenia údaje, ktoré zodpovedajú filtru.
Okrem toho sa ľahko vytvorí filtrovateľný index. V operátorovi VYTVORIŤ INDEX stačí len uviesť KDE stav filtra. Môžete napríklad odfiltrovať všetky riadky obsahujúce NULL z indexu, ako je uvedené v kóde:
CREATE NENCLUSTERED INDEX ix_trackingnumber ON Sales.SalesOrderDetail(CarrierTrackingNumber) WHERE CarrierTrackingNumber NIE JE NULL;
V skutočnosti môžeme odfiltrovať všetky údaje, ktoré nie sú dôležité v kritických dopytoch. Buďte však opatrní, pretože... SQL Server ukladá niekoľko obmedzení na filtrovateľné indexy, ako napríklad nemožnosť vytvoriť filtrovateľný index v zobrazení, preto si pozorne prečítajte dokumentáciu.
Je tiež možné, že podobné výsledky môžete dosiahnuť vytvorením indexovaného zobrazenia. Filtrovaný index má však niekoľko výhod, ako napríklad schopnosť znížiť náklady na údržbu a zlepšiť kvalitu vašich realizačných plánov. Filtrované indexy je možné prebudovať aj online. Skúste to s indexovaným zobrazením.

A opäť niečo málo od prekladateľa

Účelom objavenia sa tohto prekladu na stránkach Habrahabr bolo povedať alebo pripomenúť blog SimpleTalk z r. RedGate.
Uverejňuje veľa zábavných a zaujímavých príspevkov.
Nie som pridružený k žiadnym produktom spoločnosti RedGate, ani s ich predajom.

Ako som sľúbil, knihy pre tých, ktorí chcú vedieť viac
Od seba odporúčam tri veľmi dobré knihy (odkazy vedú na zapáliť verzie v predajni Amazon):

V zásade môžete otvoriť jednoduché indexy Pridať značky
Microsoft SQL Server 2012 T-SQL Fundamentals (Reference Developer)
Autor Itzik Ben-Gan
Dátum vydania: 15. júl 2012
Autor, majster svojho remesla, poskytuje základné poznatky o práci s databázami.
Ak ste na všetko zabudli alebo ste nikdy nevedeli, určite stojí za prečítanie.

V štatistickej praxi je indexová metóda rovnako rozšírená ako metóda priemerov.

indexy sa nazývajú porovnávacie relatívne hodnoty, ktoré charakterizujú zmenu komplexných sociálno-ekonomických ukazovateľov (ukazovatele pozostávajúce z nesčítateľných prvkov) v čase, v priestore v porovnaní s plánom.

Index je výsledkom porovnania dvoch ukazovateľov rovnakého mena, pri výpočte ktorých je potrebné rozlišovať medzi čitateľom pomeru indexu (porovnávaná alebo vykazovacia úroveň) a menovateľom pomeru indexu (základná úroveň, s ktorou sa porovnáva). Výber základne závisí od účelu štúdie. Ak sa skúma dynamika, za základnú hodnotu možno považovať veľkosť ukazovateľa v období pred vykazovaným obdobím. Ak je potrebné vykonať územné porovnanie, za základ sa môžu brať údaje z iného územia. Plánované ukazovatele možno brať ako základ pre porovnanie, ak je potrebné použiť ukazovatele ako ukazovatele plnenia plánu.

Indexy tvoria najdôležitejšie ekonomické ukazovatele národného hospodárstva a jeho jednotlivých odvetví. Indexové ukazovatele umožňujú analyzovať výkonnosť podnikov a organizácií, ktoré vyrábajú širokú škálu produktov alebo sa zaoberajú rôznymi druhmi činností. Pomocou indexov môžete sledovať úlohu jednotlivých faktorov pri tvorbe najdôležitejších ekonomických ukazovateľov a identifikovať hlavné výrobné rezervy. Indexy sú široko používané pri porovnávaní medzinárodných ekonomických ukazovateľov pri určovaní životnej úrovne, obchodnej aktivity, cenovej politiky atď.

Existujú dva prístupy k interpretácii schopností indexových indikátorov: zovšeobecňujúce (syntetické) a analytické, ktoré sú zase určené rôznymi úlohami.

Podstatou zovšeobecňujúceho prístupu je interpretovať index ako ukazovateľ priemernej zmeny úrovne skúmaného javu. V tomto prípade bude hlavnou úlohou riešenou pomocou indexových ukazovateľov charakterizovať celkovú zmenu viacfaktorového ekonomického ukazovateľa.

Analytický prístup považuje index za indikátor zmien úrovne výslednej hodnoty, ktorá je ovplyvnená skúmanou veličinou pomocou indexu. Z toho vyplýva ďalšia úloha, ktorá sa rieši pomocou indexových indikátorov: zvýrazniť vplyv jedného z faktorov pri zmene multifaktorového indikátora.

Podľa miery pokrytia prvkov javu sa indexy delia na individuálne a všeobecné (súhrnné).

Jednotlivé indexy i) sú indexy, ktoré charakterizujú zmenu len jedného prvku populácie.

Všeobecný (zložený) index(I) charakterizuje zmenu celého súboru prvkov komplexného javu. Ak indexy pokrývajú iba časť javu, potom sa nazývajú skupinové indexy. Všeobecné indexy možno podľa spôsobu štúdia zostrojiť buď ako súhrnné (z lat. aggrega - pridávam) indexy, alebo ako priemerné vážené indexy (priemer jednotlivých).

V štatistike majú veľký význam indexy premenlivého a pevného zloženia, ktoré sa používajú pri analýze dynamiky priemerných ukazovateľov.

Index variabilného zloženia sa nazýva pomer dvoch priemerných úrovní.

Fixný index zloženia je priemer jednotlivých indexov. Vypočítava sa ako podiel dvoch štandardizovaných priemerov, kde je eliminovaný vplyv zmien štrukturálneho faktora, preto sa tento index nazýva aj konštantný index zloženia.

V závislosti od charakteru a obsahu indexovaných hodnôt existujú indexy kvantitatívnych (objemových) ukazovateľov A ukazovatele kvality.

TO indexy kvantitatívnych (objemových) ukazovateľov zahŕňajú také indexy, ako sú indexy fyzického objemu výroby, výrobných nákladov, výrobných nákladov, ako aj indexy ukazovateľov, ktorých veľkosti sú určené absolútnymi hodnotami. Používajú sa rôzne typy kvantitatívnych indexov.

Index objemu produktu(FOP) odráža zmeny vo výrobe.

Individuálny index FOP odráža zmeny v produkcii jedného typu produktu

kde q1 a q0 sú množstvo produktov daného typu vo fyzickom vyjadrení v bežnom a základnom období.

Podobne sa vypočíta index výrobných nákladov (COI), ktorý odráža zmeny výrobných nákladov a môže byť buď individuálny, alebo agregovaný.

Individuálny index ZEP odráža zmenu výrobných nákladov jedného druhu a je určený vzorcom

kde z1 a z0 sú náklady na jednotku výroby požadovaného typu v bežnom a základnom období; q1 z1 a q0 z0 - súčet nákladov na výrobu výrobkov požadovaného druhu v bežnom a základnom období.

Zoberme si konštrukciu indexu nákladov na produkt (SP), ktorý možno definovať ako individuálny, tak aj ako súhrnný.

Individuálny index SP charakterizuje zmenu nákladov na produkty tohto typu a má formu:

kde p1 a p0 sú jednotková cena daného typu produktu v bežnom a základnom období; q1 p1 a q0 p0 - náklady na produkty tohto typu v bežnom a základnom období.

Kvalitatívne ukazovatele určujú úroveň skúmaného výsledného ukazovateľa a sú určené pomerom výsledného ukazovateľa a určitého kvantitatívneho ukazovateľa (napr. priemerná mzda je určená pomerom mzdového fondu a počtu zamestnancov). Indexy ukazovateľov kvality zahŕňajú indexy cien, nákladov, priemerných miezd a produktivity práce.

Najbežnejším indexom v tejto skupine je cenový index.

Individuálny cenový index charakterizuje zmeny cien pre jeden typ produktu

kde p1 a p0 sú cena za jednotku produkcie v bežnom a základnom období.

V súlade s tým sú pre každý typ produktu určené indexy nákladov a času práce.