Šta je indeks forme u statistici. Indeksi: pojam, vrste, zadaci koje treba riješiti. Indeksi kvantiteta i kvaliteta indikatora. Metode za izračunavanje berzanskih indeksa

Metoda indeksa je jedna od najčešćih metoda Statistička analiza ekonomske pojave. Koristeći indekse, učimo Nacionalna ekonomija uopšte i pojedinačni sektori, kao i delatnosti preduzeća, udruženja, firmi, farmi i dr.; otkriva se dinamika razvoja socio-ekonomskih pojava, analizira provođenje planova ili normi; utvrđuje se uticaj pojedinih faktora na ukupan rezultat, otkrivaju proizvodne rezerve; vrše se teritorijalna i međunarodna poređenja ekonomski pokazatelji.

Indeks u statistici se zove relativni indikator, karakterišući odnos u vremenu, u poređenju sa planom ili u prostoru, nivoa društveno-ekonomskih pojava.

Budući da je indeks relativan indikator, on se uvijek dobija omjerom dvije vrijednosti: izvještajne (ili tekuće), odnosno one koja se upoređuje, i osnovne, odnosno one sa čijim nivoom je izvještajna vrijednost se poredi. Ako se nivo fenomena uzme kao osnova za poređenje proteklom periodu vrijeme, dobiti dinamičke indekse; ako se za osnovu poređenja uzme nivo pojave na drugoj teritoriji, dobijaju se teritorijalni indeksi.

U formulama, sistemima jednačina, ekonomskim i matematičkim modelima, tekući podaci se označavaju jedinicom koja se nalazi odmah ispod slovne oznake vrijednosti. Na primjer: p1, a podatak koji se koristi kao baza za poređenje označen je nulom: p0. (U matematici se takve oznake nazivaju indeksi; u statistici indeksi.) Kao i svaka relativna veličina, indeksi se izražavaju kao koeficijenti ako se jedan uzme kao baza, ili kao procenti ako se kao baza uzme sto.

Društveno-ekonomske pojave koje proučava statistika obično se sastoje od mnogo elemenata. Dakle, bruto proizvodnja proizvoda i usluga uključuje vrijednost finalnih dobara i usluga stvorenih od strane svih društveno organiziranih vrsta ekonomska aktivnost iu svim sektorima privrede. Drugim riječima, bruto proizvodnja proizvoda i usluga sastoji se od mnogih pojedinačne vrste proizvoda i usluga.

Indeksi se izračunavaju kako za pojedinačne elemente kompleksne pojave, tako i za cijeli kompleksni fenomen u cjelini. U prvom slučaju se zovu pojedinac

i označeni su latiničnim slovom i, au drugom - general

i označeni su sa I. Individualni indeksi uključuju indekse koji karakteriziraju promjene u proizvodnji jedne određene vrste proizvoda (indeksi topljenja čelika, proizvodnje kalijevog gnojiva, televizijske proizvodnje itd.), indekse koji karakteriziraju promjenu cijene bilo kojeg proizvoda (bicikli, cement, govedina itd.). ), trošak pojedinačnog proizvoda itd.

Indeksi izračunati za čitav kompleksni fenomen, odnosno opšti, obuhvataju indekse koji karakterišu dinamiku proizvodnje svih proizvoda preduzeća, industrije i sl., dinamiku cena za grupu roba, ili svu robu, ili skup proizvoda. prehrambenih i neprehrambenih dobara i usluga uključenih u „potrošačku korpu“, dinamiku troškova određenog broja proizvoda.

Za praktičnost konstruisanja indeksa u teoriji statistike razvijena je simbolika, odnosno svaka analizirana vrijednost ima svoju oznaku. Dakle, broj jedinica date vrste proizvodnje odn prodati proizvodi označena sa - q, cijena jedinice proizvoda - p, cijena jedinice proizvoda - z, intenzitet rada jedinice proizvoda - t, učinak po radniku - w, specifična potrošnja materijala (goriva), tj. materijala (goriva) po jedinici proizvoda, - m, itd.

Stoga će pojedinačni indeks fizičkog volumena imati oblik:

Formula za pojedinačni indeks cijena će biti:

i indeks pojedinačnih troškova:

Indeksna klasifikacija:

Opšti indeksi

koriste se za poređenje direktno neuporedivih, heterogenih pojava. Na primjer, pomoću općih indeksa možete okarakterizirati dinamiku proizvodnje cijele industrije ili dinamiku količine svih proizvoda proizvedenih u tvornici namještaja koja proizvodi različite vrste proizvodi: stolovi, fotelje, sofe, ormari. Međutim, ne možete jednostavno sabrati količine proizvoda različitih vrsta za dva perioda i pripisati te količine jedni drugima. Ovakvo zbrajanje je besmisleno ne samo zbog različitih mjernih jedinica (tone, komadi, metri itd.), već i zbog toga što svaka vrsta proizvoda ima svoju namjenu i proizvodi se s različitim troškovima sredstava i društveno potrebnim vremenom.

Da biste neuporedive pojave (ili njihove elemente) učinili uporedivim, morate ih izraziti opšta mera; troškovi, troškovi rada itd. Ovaj problem se rješava konstruiranjem i izračunavanjem općih indeksa. Glavni oblik opštih indeksa su agregatni indeksi.

Indeksi su uporedne relativne vrijednosti koje karakteriziraju promjene složenih socio-ekonomskih pokazatelja (indikatori koji se sastoje od nesabirnih elemenata) u vremenu, prostoru, u odnosu na plan.

Indeks je rezultat poređenja dvaju istoimenih indikatora, pri čijem izračunavanju je potrebno razlikovati brojnik indeksnog omjera (uporedni ili izvještajni nivo) i imenilac indeksnog omjera (osnovni nivo sa kojim se vrši poređenje). Izbor baze zavisi od svrhe studije. Ako se proučava dinamika, tada se kao bazna vrijednost može uzeti veličina indikatora u periodu koji prethodi izvještajnom periodu. Ako je potrebno izvršiti teritorijalno poređenje, onda se za osnovu mogu uzeti podaci sa druge teritorije. Planirani indikatori se mogu uzeti kao osnova za poređenje ako je potrebno koristiti indekse kao indikatore realizacije plana.

Indeksi čine najvažnije ekonomske pokazatelje nacionalne ekonomije i njene pojedinačne industrije. Indeksni indikatori omogućavaju analizu učinka preduzeća i organizacija koje proizvode širok spektar proizvoda ili se bave različitim vrstama aktivnosti. Koristeći indekse, možete pratiti ulogu pojedinih faktora u formiranju najvažnijih ekonomskih pokazatelja i identificirati glavne proizvodne rezerve. Indeksi se široko koriste u poređenju međunarodnih ekonomskih pokazatelja pri određivanju životnog standarda, poslovne aktivnosti, politike cijena itd.

Postoje dva pristupa tumačenju sposobnosti indeksnih indikatora: generalizujući (sintetički) i analitički, koji su zauzvrat određeni različitim zadacima.

Suština generalizirajućeg pristupa je tumačenje indeksa kao indikatora prosječne promjene nivoa fenomena koji se proučava.. U ovom slučaju, glavni zadatak koji se rješava korištenjem indeksnih indikatora biće karakterizacija ukupne promjene višefaktorskog ekonomskog indikatora.

Analitičkim pristupom indeks se posmatra kao indikator promjene nivoa rezultirajuće vrijednosti, na koju utiče količina koja se proučava pomoću indeksa. Otuda još jedan zadatak koji se rješava korištenjem indeksnih indikatora: istaći utjecaj jednog od faktora na promjenu multifaktorskog indikatora.

Prema stepenu pokrivenosti elemenata fenomena, indeksi se dijele na pojedinačne i opšte (sumarne).

Individualni indeksi(i) su indeksi koji karakterišu promjenu samo jednog elementa populacije.

Opšti (kompozitni) indeks(I) karakterizira promjenu čitavog skupa elemenata kompleksne pojave. Ako indeksi pokrivaju samo dio fenomena, onda se nazivaju grupni indeksi. U zavisnosti od metode proučavanja, opšti indeksi se mogu konstruisati ili kao agregatni (od latinskog aggrega - dodajem) indeksi, ili kao prosečni ponderisani indeksi (prosek pojedinačnih).

Način izgradnje agregatni indeksi leži u tome što je uz pomoć takozvanih komerača moguće izraziti ukupne vrednosti kompleksnog skupa u izveštajnom i baznom periodu, a zatim uporediti prvi sa drugim.

U statistici su od velikog značaja indeksi varijabilnog i fiksnog sastava koji se koriste u analizi dinamike prosječnih pokazatelja.

Indeks varijabilnog sastava naziva se odnos dva prosječna nivoa.

Postoji prosjek pojedinačnih indeksa. Izračunava se kao omjer dva standardizirana prosjeka, pri čemu je eliminisan uticaj promjena strukturnog faktora, pa se ovaj indeks naziva i indeks konstantne kompozicije.

U zavisnosti od prirode i sadržaja indeksiranih vrednosti, postoje kvantitativni indeksi indikatori (volumena) i indeksi indikatora kvaliteta.

TO indeksi kvantitativnih (volumenskih) indikatora uključuju indekse kao što su indeksi fizičkog obima proizvodnje, troškovi proizvodnje, troškovi proizvodnje, kao i indeksi indikatora čije su veličine određene apsolutnim vrijednostima. Koriste se različite vrste kvantitativnih indeksa.

(FOP) odražava promjene u proizvodnji.

Individualni FOP indeks odražava promjene u proizvodnji jedne vrste proizvoda i određen je formulom

gdje su q 1 i q 0 količina proizvoda date vrste u fizičkom smislu u tekućem i baznom periodu.

Agregatni indeks FOP (koji je predložio E. Laspeyres) odražava promjenu proizvodnje čitavog skupa proizvoda, gdje je indeksirana vrijednost količina proizvoda q, a komjernik je cijena p:

(10.2)

gdje su q 1 i q 0 broj proizvedenih jedinica pojedinih vrsta proizvoda u izvještajnom i baznom periodu; p 0 je cijena jedinice proizvodnje (posebnog tipa) u baznom periodu.

Prilikom izračunavanja FOP indeksa, troškovi proizvodnje ili radni intenzitet se takođe mogu koristiti kao komerci.

Prosječni ponderirani FOP indeksi se koriste ako su poznati pojedinačni indeksi obima za pojedine vrste proizvoda i trošak pojedinih vrsta proizvoda (ili troškova) u baznom ili izvještajnom periodu.

Ponderisani aritmetički prosjek FOP se određuje po formuli

(10.3)

gdje je i q pojedinačni indeks za svaku vrstu proizvoda; q 0 p 0 - trošak proizvoda svake vrste u baznom periodu.

Prosječni ponderirani harmonijski indeks FOP

(10.4)

gdje je q 1 p 1 trošak proizvoda svake vrste u tekućem periodu.

Izračunajte slično indeks troškova proizvodnje(ZEP), koji odražava promjene u troškovima proizvodnje i može biti pojedinačni ili agregatni.

Individualni indeks ZEP odražava promjenu troškova proizvodnje jedne vrste i određuje se formulom

(10.5)

gdje su z 1 i z 0 trošak po jedinici proizvodnje željenog tipa u tekućem i baznom periodu; q 1 z 1 i q 0 z 0 - zbir troškova za proizvodnju proizvoda tražene vrste u tekućem i baznom periodu.

Agregatni indeks VEP karakteriše promjenu ukupan iznos troškovi proizvodnje zbog promjene količine proizvedenog proizvoda i njegove cijene i određuje se formulom

(10.6)

gdje su q 1 z 1 i q 0 z 0 troškovi proizvodnje proizvoda svake vrste u izvještajnom i baznom periodu.

Razmotrimo konstrukciju indeksa troškova proizvoda (SP), koji se može definirati i kao pojedinačni i kao agregat.

Individualni indeks SP karakterizira promjenu cijene proizvoda ove vrste i ima oblik:

(10.7)

gdje je p 1 i p 0 - cijena jedinice proizvodnje date vrste u tekućem i baznom periodu; q 1 p 1 i q 0 p 0 - trošak proizvoda ove vrste u tekućem i baznom periodu.

Agregatni indeks SP (trgovinski promet) karakteriše promjenu ukupnih troškova proizvodnje zbog promjene količine proizvoda i cijena i određuje se formulom

(10.8)

Indeksi indikatora kvaliteta. Faktorska analiza

Kvalitativni indikatori određuju nivo konačnog indikatora koji se proučava i određuju se odnosom konačnog indikatora i određenog kvantitativnog indikatora (npr. nadnica utvrđuje se odnosom fonda zarada i broja zaposlenih). Indeksi indikatora kvaliteta uključuju indekse cijena, troškova, prosječnih plata i produktivnosti rada.

Najčešći indeks u ovoj grupi je indeks cijena.

Individualni indeks cijena karakteriše promjenu cijena za jednu vrstu proizvoda i određuje se formulom

gdje su p 1 i p 0 cijena po jedinici proizvodnje u tekućem i baznom periodu.

U skladu s tim, za svaku vrstu proizvoda određuju se indeksi troškova i radnog vremena.

Zbirni indeks cijena određuje prosječnu promjenu cijene p za skup određenih vrsta proizvoda q.

Za karakterizaciju prosječne promjene cijena robe široke potrošnje, koristite indeks cijena koji je predložio E. Laspeyres ( Laspeyresov indeks):

(10.10)

gdje je q 0 - potrošačka korpa(bazni period); p 0 i p 1 su cijene baznog i izvještajnog perioda, respektivno.

Ako se količina skupa proizvoda uzme na nivou izvještajnog perioda (q 1), onda se u ovom slučaju indeks cijena naziva Paascheov indeks:

(10.11)

Ako su poznati pojedinačni indeksi cijena za pojedine vrste proizvoda i cijena pojedinih vrsta proizvoda, onda se koriste prosječni ponderirani indeksi cijena (ponderirani aritmetički prosjek i ponderisani harmonični prosječni indeksi cijena).

Formula ponderisani prosečni aritmetički indeks cena

(10.12)

gdje je i pojedinačni indeks za svaku vrstu proizvoda; p 0 q 0 - trošak proizvoda svake vrste u baznom periodu.

Formula ponderisani prosečni harmonični indeks cena

(10.13)

gdje je p 1 q 1 trošak proizvoda svake vrste u tekućem periodu.

U statističkoj praksi vrlo je rasprostranjen agregatni teritorijalni indeks cijena koji se može izračunati pomoću sljedeće formule:

(10.14)

gdje je p A p B cijena po jedinici proizvoda svake vrste, respektivno, na teritorijama A i B; q A - količina proizvedenih ili prodatih proizvoda svake vrste na teritoriji A (u fizičkom smislu).

Formula pokazuje da se u ovom indeksu kao fiksni indikator (težina) uzima obim proizvodnje teritorije A. Prilikom izračunavanja ovog indeksa može se uzeti i obim proizvodnje teritorije B ili ukupan obim proizvodnje dve teritorije kao težina.

Postoje dvije moguće metode za izračunavanje indeksa: lančani i osnovni.

Lančani indeksi se dobijaju poređenjem sadašnjih nivoa sa prethodnim, dok se baza poređenja stalno menja.

Jedan od najvažnijih načina za postizanje visoke produktivnosti SQL Server je upotreba indeksa. Indeks ubrzava proces upita pružajući brz pristup redovima podataka u tabeli, slično kao što vam indeks u knjizi pomaže da brzo pronađete informacije koje su vam potrebne. U ovom članku ću dati kratak pregled indeksa u SQL Server i objasniti kako su organizirani u bazi podataka i kako pomažu da se ubrzaju upiti baze podataka.

Indeksi se kreiraju na tablicama i kolonama pogleda. Indeksi pružaju način za brzo pretraživanje podataka na osnovu vrijednosti u tim stupcima. Na primjer, ako kreirate indeks na primarnom ključu, a zatim tražite red podataka koristeći vrijednosti primarnog ključa, tada SQL Serverće prvo pronaći vrijednost indeksa, a zatim koristiti indeks da brzo pronađe cijeli red podataka. Bez indeksa, izvršiće se potpuno skeniranje svih redova u tabeli, što može imati značajan uticaj na performanse.
Možete kreirati indeks za većinu kolona u tabeli ili prikazu. Izuzetak su uglavnom kolone sa tipovima podataka za pohranjivanje velikih objekata ( LOB), kao što je slika, tekst ili varchar(max). Također možete kreirati indekse na stupcima dizajniranim za pohranjivanje podataka u formatu XML, ali su ovi indeksi strukturirani nešto drugačije od standardnih i njihovo razmatranje je izvan okvira ovog članka. Također, članak ne raspravlja columnstore indeksi. Umjesto toga, fokusiram se na one indekse koji se najčešće koriste u bazama podataka SQL Server.
Indeks se sastoji od skupa stranica, indeksnih čvorova, koji su organizovani u strukturu stabla - balansirano drvo. Ova struktura je hijerarhijske prirode i počinje s korijenskim čvorom na vrhu hijerarhije i listovima, listovima, na dnu, kao što je prikazano na slici:


Kada postavljate upit prema indeksiranoj koloni, mašina za upite počinje na vrhu korijenskog čvora i radi svoj put prema dolje kroz međučvorove, pri čemu svaki međusloj sadrži detaljnije informacije o podacima. Mehanizam upita nastavlja da se kreće kroz indeksne čvorove sve dok ne dostigne donji nivo sa listovima indeksa. Na primjer, ako tražite vrijednost 123 u indeksiranoj koloni, mašina za upite će prvo odrediti stranicu na prvom srednjem nivou na osnovnom nivou. U ovom slučaju, prva stranica ukazuje na vrijednost od 1 do 100, a druga od 101 do 200, tako da će mašina za upite pristupiti drugoj stranici ovog srednjeg nivoa. Zatim ćete vidjeti da biste trebali okrenuti treću stranicu sljedećeg srednjeg nivoa. Odavde će podsistem upita pročitati vrijednost samog indeksa na nižem nivou. Listovi indeksa mogu sadržavati ili same podatke tablice ili jednostavno pokazivač na redove s podacima u tablici, ovisno o tipu indeksa: klasterirani indeks ili neklasterirani indeks.

Grupirani indeks
Grupirani indeks pohranjuje stvarne redove podataka u listovima indeksa. Vraćajući se na prethodni primjer, to znači da će red podataka pridruženih ključnoj vrijednosti 123 biti pohranjen u samom indeksu. Važna karakteristika Grupirani indeks je da su sve vrijednosti sortirane određenim redoslijedom, bilo uzlaznim ili opadajućim. Stoga, tablica ili pogled može imati samo jedan klasterizirani indeks. Osim toga, treba napomenuti da se podaci u tablici pohranjuju u sortiranom obliku samo ako je na ovoj tablici kreiran klasterirani indeks.
Tabela koja nema grupirani indeks naziva se hrpa.
Neklasterirani indeks
Za razliku od grupiranog indeksa, listovi indeksa koji nisu grupirani sadrže samo te stupce ( ključ) kojim se ovaj indeks određuje, a sadrži i pokazivač na redove sa stvarnim podacima u tabeli. To znači da sistem podupita zahtijeva dodatnu operaciju za lociranje i dohvaćanje potrebnih podataka. Sadržaj pokazivača podataka ovisi o tome kako se podaci pohranjuju: klasterirana tablica ili hrpa. Ako pokazivač pokazuje na grupisanu tabelu, on pokazuje na klasterizovani indeks koji se može koristiti za pronalaženje stvarnih podataka. Ako se pokazivač odnosi na hrpu, onda pokazuje na određeni identifikator reda podataka. Neklasterirani indeksi se ne mogu sortirati kao klasterirani indeksi, ali možete kreirati više od jednog neklasteriziranog indeksa na tablici ili prikazu, do 999. To ne znači da biste trebali kreirati što je više moguće indeksa. Indeksi mogu poboljšati ili degradirati performanse sistema. Osim što možete kreirati više indeksa koji nisu grupirani, možete uključiti i dodatne stupce ( uključena kolona) u svoj indeks: listovi indeksa će pohraniti ne samo vrijednost samih indeksiranih stupaca, već i vrijednosti ovih neindeksiranih dodatnih stupaca. Ovaj pristup će vam omogućiti da zaobiđete neka ograničenja postavljena na indeks. Na primjer, možete uključiti stupac koji se ne može indeksirati ili zaobići ograničenje dužine indeksa (900 bajtova u većini slučajeva).

Vrste indeksa

Osim što je klasterirani ili neklasterni indeks, može se dalje konfigurirati kao kompozitni indeks, jedinstveni indeks ili indeks pokrivanja.
Kompozitni indeks
Takav indeks može sadržavati više od jedne kolone. Možete uključiti do 16 kolona u indeks, ali njihova ukupna dužina je ograničena na 900 bajtova. I klasterirani i neklasterirani indeksi mogu biti složeni.
Jedinstveni indeks
Ovaj indeks osigurava da je svaka vrijednost u indeksiranoj koloni jedinstvena. Ako je indeks kompozitni, tada se jedinstvenost primjenjuje na sve stupce u indeksu, ali ne i na svaki pojedinačni stupac. Na primjer, ako kreirate jedinstveni indeks na stupcima NAME I PREZIME, tada puno ime mora biti jedinstveno, ali su mogući duplikati u imenu ili prezimenu.
Jedinstveni indeks se automatski kreira kada definirate ograničenje stupca: primarni ključ ili ograničenje jedinstvene vrijednosti:
  • Primarni ključ
    Kada definirate ograničenje primarnog ključa na jednom ili više stupaca tada SQL Server automatski kreira jedinstveni klasterirani indeks ako klasterirani indeks nije prethodno kreiran (u ovom slučaju, jedinstveni ne-klasterirani indeks se kreira na primarnom ključu)
  • Jedinstvenost vrijednosti
    Kada definirate ograničenje na jedinstvenost vrijednosti onda SQL Server automatski kreira jedinstveni neklasterirani indeks. Možete odrediti da se kreira jedinstveni klasterirani indeks ako u tablici još nije kreiran klasterirani indeks
Indeks pokrivanja
Takav indeks omogućava specifičnom upitu da odmah dobije sve potrebne podatke iz listova indeksa bez dodatnog pristupa zapisima same tabele.

Dizajniranje indeksa

Koliko god indeksi bili korisni, moraju biti pažljivo dizajnirani. Budući da indeksi mogu zauzeti značajan prostor na disku, ne želite da kreirate više indeksa nego što je potrebno. Osim toga, indeksi se automatski ažuriraju kada se ažurira sam red podataka, što može dovesti do dodatnih troškova resursa i degradacije performansi. Prilikom dizajniranja indeksa, nekoliko razmatranja u vezi sa bazom podataka i upitima prema njoj mora se uzeti u obzir.
Baza podataka
Kao što je ranije navedeno, indeksi mogu poboljšati performanse sistema jer oni pružaju mašini za upite brz način za pronalaženje podataka. Međutim, također biste trebali uzeti u obzir koliko često namjeravate umetnuti, ažurirati ili izbrisati podatke. Kada promijenite podatke, indeksi se također moraju promijeniti da odražavaju odgovarajuće radnje na podacima, što može značajno smanjiti performanse sistema. Uzmite u obzir sljedeće smjernice kada planirate svoju strategiju indeksiranja:
  • Za tabele koje se često ažuriraju, koristite što manje indeksa.
  • Ako tabela sadrži veliku količinu podataka, ali su promjene male, onda koristite onoliko indeksa koliko je potrebno da poboljšate performanse vaših upita. Međutim, dobro razmislite prije korištenja indeksa na malim tablicama, jer... Moguće je da korištenje indeksnog pretraživanja može potrajati duže od jednostavnog skeniranja svih redova.
  • Za grupisane indekse, pokušajte da polja budu što kraća. Najbolji pristup je korištenje grupisanog indeksa na stupcima koji imaju jedinstvene vrijednosti i ne dozvoljavaju NULL. Zbog toga se primarni ključ često koristi kao klasterirani indeks.
  • Jedinstvenost vrijednosti u stupcu utiče na performanse indeksa. IN opšti slučajŠto više duplikata imate u koloni, indeks je lošiji. S druge strane, što je više jedinstvenih vrijednosti, to je bolji učinak indeksa. Koristite jedinstveni indeks kad god je to moguće.
  • Za složeni indeks, uzmite u obzir redoslijed stupaca u indeksu. Kolone koje se koriste u izrazima GDJE(Na primjer, WHERE FirstName = "Charlie") mora biti prvi u indeksu. Sledeće kolone treba da budu navedene na osnovu jedinstvenosti njihovih vrednosti (prve su kolone sa najvećim brojem jedinstvenih vrednosti).
  • Također možete specificirati indeks za izračunate stupce ako ispunjavaju određene zahtjeve. Na primjer, izrazi koji se koriste za dobivanje vrijednosti stupca moraju biti deterministički (uvijek vraćaju isti rezultat za dati skup ulaznih parametara).
Upiti baze podataka
Još jedno razmatranje prilikom dizajniranja indeksa je koji se upiti pokreću prema bazi podataka. Kao što je ranije rečeno, morate uzeti u obzir koliko često se podaci mijenjaju. Osim toga, treba koristiti sljedeće principe:
  • Pokušajte umetnuti ili izmijeniti što više redova u jednom upitu, umjesto da to radite u nekoliko pojedinačnih upita.
  • Kreirajte negrupisani indeks na stupcima koji se često koriste kao pojmovi za pretraživanje u vašim upitima. GDJE i veze u PRIDRUŽITE SE.
  • Razmislite o indeksiranju stupaca koji se koriste u upitima za traženje reda za tačna podudaranja vrijednosti.

A sada, zapravo:

14 pitanja o indeksima u SQL Serveru koja vam je bilo neugodno postaviti

Zašto tabela ne može imati dva grupirana indeksa?

Želite kratak odgovor? Grupirani indeks je tabela. Kada kreirate grupirani indeks na tablici, mehanizam za pohranu sortira sve redove u tablici uzlaznim ili silaznim redoslijedom, prema definiciji indeksa. Grupirani indeks nije poseban entitet kao drugi indeksi, već mehanizam za sortiranje podataka u tabeli i omogućavanje brzog pristupa redovima podataka.
Zamislimo da imate tabelu koja sadrži istoriju prodajnih transakcija. Tabela prodaje uključuje informacije kao što su ID narudžbe, pozicija proizvoda u narudžbi, broj proizvoda, količina proizvoda, broj narudžbe i datum, itd. Kreirate grupirani indeks na stupcima OrderID I LineID, sortirano uzlaznim redoslijedom kao što je prikazano u nastavku T-SQL kod:
KREIRAJTE JEDINSTVEN CLUSTERED INDEX ix_oriderid_lineid NA dbo.Sales(OrderID, LineID);
Kada pokrenete ovu skriptu, svi redovi u tabeli će biti fizički sortirani prvo po OrderID koloni, a zatim po LineID-u, ali sami podaci će ostati u jednom logičkom bloku, tabeli. Iz tog razloga ne možete kreirati dva klasterirana indeksa. Može postojati samo jedna tabela sa jednim podacima i ta tabela se može sortirati samo jednom određenim redosledom.

Ako klasterirana tabela pruža mnoge prednosti, zašto onda koristiti hrpu?

Upravu si. Grupirane tabele su sjajne i većina vaših upita će imati bolji učinak na tabelama koje imaju klasterizovani indeks. Ali u nekim slučajevima možda želite da ostavite stolove u njihovom prirodnom, netaknutom stanju, tj. u obliku hrpe i kreirajte samo indekse koji nisu grupirani da bi vaši upiti ostali aktivni.
Hrpa, kao što se sjećate, pohranjuje podatke nasumičnim redoslijedom. Tipično, podsistem za skladištenje dodaje podatke u tabelu redosledom kojim su umetnuti, ali podsistem skladištenja takođe voli da pomera redove radi efikasnijeg skladištenja. Kao rezultat toga, nemate priliku predvidjeti kojim će redoslijedom podaci biti pohranjeni.
Ako mehanizam za upite treba da pronađe podatke bez prednosti neklasteriranog indeksa, izvršit će potpuno skeniranje tablice kako bi pronašao redove koji su mu potrebni. Na vrlo malim tablicama to obično nije problem, ali kako hrpa raste u veličini, performanse brzo opadaju. Naravno, negrupisani indeks može pomoći korištenjem pokazivača na datoteku, stranicu i red gdje su pohranjeni potrebni podaci - ovo je obično mnogo bolja alternativa skeniranju tablice. Čak i tako, teško je uporediti prednosti grupisanog indeksa kada se razmatra performanse upita.
Međutim, hrpa može pomoći u poboljšanju performansi u određenim situacijama. Uzmite u obzir tabelu sa puno umetanja, ali malo ažuriranja ili brisanja. Na primjer, tablica koja pohranjuje dnevnik prvenstveno se koristi za umetanje vrijednosti dok se ne arhivira. Na hrpi nećete vidjeti stranice i fragmentaciju podataka kao što biste to vidjeli kod grupisanog indeksa jer se redovi jednostavno dodaju na kraj hrpe. Previše dijeljenja stranica može imati značajan utjecaj na performanse, i to ne na dobar način. Općenito, hrpa vam omogućava da ubacite podatke relativno bezbolno i nećete morati da se bavite troškovima skladištenja i održavanja kao što biste radili s klasteriranim indeksom.
Ali nedostatak ažuriranja i brisanja podataka ne treba smatrati jedinim razlogom. Način na koji su podaci uzorkovani je takođe važan faktor. Na primjer, ne biste trebali koristiti hrpu ako često postavljate upite za opsege podataka ili podatke koje tražite često treba sortirati ili grupirati.
Sve ovo znači da biste trebali razmisliti o korištenju hrpe samo kada radite s vrlo malim tablicama ili je sva vaša interakcija s tablicom ograničena na umetanje podataka, a vaši upiti su izuzetno jednostavni (i koristite ne-klasterirane indekse u svakom slučaju). U suprotnom, držite se dobro dizajniranog grupisanog indeksa, kao što je onaj definiran na jednostavnom rastućem ključnom polju, poput široko korištene kolone sa IDENTITET.

Kako mogu promijeniti zadani faktor popunjavanja indeksa?

Promjena zadanog faktora popunjavanja indeksa je jedna stvar. Razumevanje načina na koji radi podrazumevani odnos je druga stvar. Ali prvo se vratite nekoliko koraka unazad. Faktor popunjavanja indeksa određuje količinu prostora na stranici za pohranjivanje indeksa na donjem nivou (nivo lista) prije početka popunjavanja nove stranice. Na primjer, ako je koeficijent postavljen na 90, onda kada indeks raste, on će zauzeti 90% stranice, a zatim će se preći na sljedeću stranicu.
Prema zadanim postavkama, vrijednost faktora popunjavanja indeksa je in SQL Server je 0, što je isto kao 100. Kao rezultat toga, svi novi indeksi automatski nasljeđuju ovu postavku osim ako posebno ne navedete vrijednost u svom kodu koja se razlikuje od standardne vrijednosti sistema ili promijenite zadano ponašanje. Možeš koristiti SQL Server Management Studio za podešavanje zadane vrijednosti ili pokretanje sistemske pohranjene procedure sp_configure. Na primjer, sljedeći set T-SQL commands postavlja vrijednost koeficijenta na 90 (prvo morate preći na mod naprednih postavki):
EXEC sp_configure "prikaži napredne opcije", 1; GO RECONFIGURE; GO EXEC sp_configure "faktor popunjavanja", 90; GO RECONFIGURE; GO
Nakon promjene vrijednosti faktora popunjavanja indeksa, morate ponovo pokrenuti uslugu SQL Server. Sada možete provjeriti postavljenu vrijednost pokretanjem sp_configure bez navedenog drugog argumenta:
EXEC sp_configure "faktor popunjavanja" GO
Ova naredba bi trebala vratiti vrijednost od 90. Kao rezultat, svi novokreirani indeksi će koristiti ovu vrijednost. Ovo možete testirati kreiranjem indeksa i upitom za vrijednost faktora popunjavanja:
USE AdventureWorks2012; -- vaša baza podataka GO CREATE NENCLUSTERED INDEX ix_people_lastname NA Person.Person(Prezime); IDI SELECT fill_factor FROM sys.indexes GDJE object_id = object_id("Person.Person") AND name="ix_people_lastname";
U ovom primjeru kreirali smo neklasterizirani indeks na tablici Osoba u bazi podataka AdventureWorks2012. Nakon kreiranja indeksa, možemo dobiti vrijednost faktora popunjavanja iz sistemskih tablica sys.indexes. Upit bi trebao vratiti 90.
Međutim, zamislimo da smo izbrisali indeks i ponovo ga kreirali, ali sada smo naveli specifičnu vrijednost faktora popunjavanja:
CREATE NENCLUSTERED INDEX ix_people_lastname ON Person.Person(Prezime) WITH (filfactor=80); IDI SELECT fill_factor FROM sys.indexes GDJE object_id = object_id("Person.Person") AND name="ix_people_lastname";
Ovaj put smo dodali uputstva WITH i opciju fillfactor za našu operaciju kreiranja indeksa CREATE INDEX i specificirao vrijednost 80. Operator SELECT sada vraća odgovarajuću vrijednost.
Do sada je sve bilo prilično jednostavno. Ono u čemu se zaista možete izgorjeti u cijelom ovom procesu je kada kreirate indeks koji koristi zadanu vrijednost koeficijenta, pod pretpostavkom da znate tu vrijednost. Na primjer, neko petlja sa postavkama servera i toliko je tvrdoglav da je postavio faktor popunjavanja indeksa na 20. U međuvremenu, nastavljate da kreirate indekse, pod pretpostavkom da je zadana vrijednost 0. Nažalost, nemate načina da saznate popunjenost faktor sve dok ne kreirate indeks, a zatim provjerite vrijednost kao što smo radili u našim primjerima. U suprotnom, moraćete da sačekate trenutak kada performanse upita toliko opadnu da počnete da sumnjate u nešto.
Još jedan problem kojeg biste trebali biti svjesni je ponovna izgradnja indeksa. Kao i kod kreiranja indeksa, možete odrediti vrijednost faktora popunjavanja indeksa kada ga ponovo izgradite. Međutim, za razliku od naredbe create index, rebuild ne koristi zadane postavke servera, uprkos tome kako to može izgledati. Čak i više, ako ne navedete posebno vrijednost faktora popunjavanja indeksa, onda SQL Server koristiće vrijednost koeficijenta s kojim je ovaj indeks postojao prije njegovog restrukturiranja. Na primjer, sljedeća operacija ALTER INDEX ponovo gradi indeks koji smo upravo kreirali:
ALTER INDEX ix_people_lastname ON Person.Person REBUILD; IDI SELECT fill_factor FROM sys.indexes GDJE object_id = object_id("Person.Person") AND name="ix_people_lastname";
Kada provjerimo vrijednost faktora popunjavanja, dobićemo vrijednost od 80, jer je to ono što smo naveli kada smo zadnji put kreirali indeks. Zadana vrijednost se zanemaruje.
Kao što vidite, promjena vrijednosti faktora popunjavanja indeksa nije tako teška. Mnogo je teže znati sadašnja vrijednost i razumjeti kada se koristi. Ako uvijek posebno specificirate koeficijent pri kreiranju i ponovnoj izgradnji indeksa, tada uvijek znate konkretan rezultat. Osim ako ne morate da brinete o tome da neko drugi ponovo ne zezne podešavanja servera, uzrokujući da se svi indeksi ponovo izgrade sa smešno niskim faktorom popunjavanja indeksa.

Da li je moguće kreirati grupirani indeks na koloni koja sadrži duplikate?

Da i ne. Da, možete kreirati grupirani indeks na ključnom stupcu koji sadrži duple vrijednosti. Ne, vrijednost stupca ključa ne može ostati u nejedinstvenom stanju. Dopusti mi da objasnim. Ako kreirate nejedinstveni grupirani indeks na stupcu, mehanizam za pohranu dodaje unifikator dupliranoj vrijednosti kako bi osigurao jedinstvenost i stoga mogao identificirati svaki red u grupisanoj tablici.
Na primjer, možete odlučiti da kreirate grupirani indeks na stupcu koji sadrži podatke korisnika Prezime zadržavanje prezimena. Kolona sadrži vrijednosti Franklin, Hancock, Washington i Smith. Zatim ponovo ubacujete vrijednosti Adams, Hancock, Smith i Smith. Ali vrijednost ključnog stupca mora biti jedinstvena, tako da će mehanizam za pohranu promijeniti vrijednost duplikata tako da izgledaju otprilike ovako: Adams, Franklin, Hancock, Hancock1234, Washington, Smith, Smith4567 i Smith5678.
Na prvi pogled, ovaj pristup izgleda u redu, ali cjelobrojna vrijednost povećava veličinu ključa, što može postati problem ako postoji veliki broj duplikata, a te vrijednosti će postati osnova neklasteriranog indeksa ili stranog ključna referenca. Iz ovih razloga, uvijek biste trebali pokušati kreirati jedinstvene klasterizirane indekse kad god je to moguće. Ako to nije moguće, pokušajte barem koristiti stupce s vrlo visokom jedinstvenom vrijednošću sadržaja.

Kako se tabela pohranjuje ako nije kreiran grupirani indeks?

SQL Server podržava dvije vrste tablica: klasterirane tablice koje imaju grupirani indeks i hrpe tablica ili samo hrpe. Za razliku od klasteriranih tabela, podaci na hrpi nisu sortirani ni na koji način. U suštini, ovo je gomila (gomila) podataka. Ako takvoj tabeli dodate red, mehanizam za skladištenje će ga jednostavno dodati na kraj stranice. Kada se stranica popuni podacima, bit će dodana na novu stranicu. U većini slučajeva, poželećete da kreirate grupirani indeks na tabeli da biste iskoristili prednost sortiranja i brzine upita (pokušajte da zamislite da tražite telefonski broj u nesortiranom adresaru). Međutim, ako odlučite da ne kreirate klasterizovani indeks, i dalje možete kreirati neklasterizovani indeks na hrpi. U ovom slučaju, svaki red indeksa će imati pokazivač na red hrpe. Indeks uključuje ID datoteke, broj stranice i broj reda podataka.

Kakav je odnos između ograničenja jedinstvenosti vrijednosti i primarnog ključa s indeksima tablice?

Primarni ključ i jedinstveno ograničenje osiguravaju da su vrijednosti u stupcu jedinstvene. Možete kreirati samo jedan primarni ključ za tabelu i ne može sadržavati vrijednosti NULL. Možete kreirati nekoliko ograničenja za jedinstvenost vrijednosti za tablicu, a svako od njih može imati jedan zapis sa NULL.
Kada kreirate primarni ključ, mehanizam za pohranu također kreira jedinstveni klasterirani indeks ako klasterirani indeks već nije kreiran. Međutim, možete nadjačati zadano ponašanje i kreirat će se neklasterirani indeks. Ako klasterirani indeks postoji kada kreirate primarni ključ, kreirat će se jedinstveni neklasterirani indeks.
Kada kreirate jedinstveno ograničenje, mehanizam za skladištenje kreira jedinstveni, neklasterizovani indeks. Međutim, možete specificirati kreiranje jedinstvenog klasteriranog indeksa ako nije prethodno kreiran.
Općenito, ograničenje jedinstvene vrijednosti i jedinstveni indeks su ista stvar.

Zašto se grupirani i neklasterizovani indeksi u SQL Serveru nazivaju B-stablo?

Osnovni indeksi u SQL Serveru, grupisani ili neklasterisani, distribuiraju se preko skupova stranica koje se nazivaju indeksni čvorovi. Ove stranice su organizirane u specifičnoj hijerarhiji sa strukturom stabla koja se naziva uravnoteženo stablo. Na gornjem nivou nalazi se korijenski čvor, na dnu su čvorovi lista, sa međučvorovima između gornjeg i donjeg nivoa, kao što je prikazano na slici:


Korijenski čvor pruža glavnu ulaznu tačku za upite koji pokušavaju da dohvate podatke kroz indeks. Počevši od ovog čvora, mašina za upite pokreće navigaciju niz hijerarhijsku strukturu do odgovarajućeg lisnog čvora koji sadrži podatke.
Na primjer, zamislite da je primljen zahtjev za odabir redova koji sadrže ključnu vrijednost 82. Podsistem upita počinje raditi od korijenskog čvora, koji se odnosi na odgovarajući međučvor, u našem slučaju 1-100. Od srednjeg čvora 1-100 dolazi do prijelaza na čvor 51-100, a odatle u konačni čvor 76-100. Ako je ovo klasterizirani indeks, tada list čvora sadrži podatke reda pridruženog ključu jednak 82. Ako je ovo neklasterizirani indeks, onda list indeksa sadrži pokazivač na klasteriziranu tablicu ili određeni red u gomila.

Kako indeks može čak poboljšati performanse upita ako morate proći kroz sve ove čvorove indeksa?

Prvo, indeksi ne poboljšavaju uvijek performanse. Previše pogrešno kreiranih indeksa pretvara sistem u blato i degradira performanse upita. Tačnije je reći da ako se indeksi pažljivo primjenjuju, oni mogu pružiti značajne dobitke u performansama.
Zamislite veliku knjigu posvećenu podešavanju performansi SQL Server(papirna verzija, ne elektronska verzija). Zamislite da želite pronaći informacije o konfiguriranju Resource Governora. Možete prstom prevlačiti stranicu po stranicu kroz cijelu knjigu ili otvoriti sadržaj i saznati tačan broj stranice sa informacijama koje tražite (pod uslovom da je knjiga ispravno indeksirana i sadržaj ima ispravne indekse). Ovo će vam svakako uštedjeti značajno vrijeme, iako prvo morate pristupiti potpuno drugoj strukturi (indeksu) da biste dobili informacije koje su vam potrebne iz primarne strukture (knjige).
Kao indeks knjige, indeks u SQL Server omogućava vam da pokrenete precizne upite o podacima koji su vam potrebni umjesto da potpuno skenirate sve podatke sadržane u tabeli. Za male tabele, potpuno skeniranje obično nije problem, ali velike tabele zauzimaju mnogo stranica podataka, što može rezultirati značajnim vremenom izvršenja upita osim ako ne postoji indeks koji bi omogućio mašini za upite da odmah dobije tačnu lokaciju podataka. Zamislite da se izgubite na raskrsnici na više nivoa ispred velike metropole bez mape i shvatit ćete.

Ako su indeksi tako sjajni, zašto jednostavno ne napravite po jedan na svakoj koloni?

Nijedno dobro djelo ne smije ostati nekažnjeno. Barem je to slučaj sa indeksima. Naravno, indeksi rade odlično sve dok pokrećete upite za dohvaćanje operatora SELECT, ali čim počnu česti pozivi operaterima INSERT, UPDATE I IZBRIŠI, tako da se pejzaž vrlo brzo mijenja.
Kada pokrenete zahtjev za podacima od strane operatera SELECT, mehanizam upita pronalazi indeks, kreće se kroz njegovu strukturu stabla i otkriva podatke koje traži. Šta može biti jednostavnije? Ali stvari se mijenjaju ako pokrenete izjavu o promjeni kao što je UPDATE. Da, za prvi dio izjave, mehanizam upita ponovo može koristiti indeks da locira red koji se mijenja - to je dobra vijest. A ako postoji jednostavna promjena podataka u redu koja ne utječe na promjene u ključnim stupcima, tada će proces promjene biti potpuno bezbolan. Ali šta ako promjena uzrokuje podjelu stranica koje sadrže podatke ili se promijeni vrijednost ključnog stupca zbog čega se premješta na drugi indeksni čvor - to će rezultirati da će indeksu možda biti potrebna reorganizacija koja će utjecati na sve povezane indekse i operacije , što dovodi do široko rasprostranjenog pada produktivnosti.
Slični procesi se dešavaju prilikom pozivanja operatera IZBRIŠI. Indeks može pomoći u lociranju podataka koji se brišu, ali brisanje samih podataka može dovesti do ponovnog premještanja stranica. Što se tiče operatera INSERT, glavni neprijatelj svih indeksa: počnete da dodajete veliku količinu podataka, što dovodi do promjena u indeksima i njihove reorganizacije i svi trpe.
Stoga uzmite u obzir tipove upita vašoj bazi podataka kada razmišljate o tome koju vrstu indeksa i koliko ih kreirati. Više ne znači bolje. Prije dodavanja novog indeksa u tablicu, uzmite u obzir troškove ne samo osnovnih upita, već i količinu potrošenog prostora na disku, troškove održavanja funkcionalnosti i indeksa, što može dovesti do domino efekta na druge operacije. Vaša strategija dizajna indeksa jedan je od najvažnijih aspekata vaše implementacije i trebala bi uključiti mnoga razmatranja, od veličine indeksa, broja jedinstvenih vrijednosti, do vrste upita koje će indeks podržavati.

Da li je potrebno kreirati grupirani indeks na koloni s primarnim ključem?

Možete kreirati grupirani indeks na bilo kojoj koloni koja se podudara neophodni uslovi. Istina je da su klasterirani indeks i ograničenje primarnog ključa napravljeni jedno za drugo i da se podudaraju na nebu, pa shvatite činjenicu da kada kreirate primarni ključ, onda će klasterirani indeks biti automatski kreiran ako nije bio kreiran ranije. Međutim, možete odlučiti da bi klasterizirani indeks imao bolji učinak negdje drugdje, a često će vaša odluka biti opravdana.
Glavna svrha grupisanog indeksa je da sortira sve redove u vašoj tabeli na osnovu ključne kolone koja je navedena prilikom definisanja indeksa. Ovo omogućava brzu pretragu i lak pristup podacima tabele.
Primarni ključ tabele može biti dobar izbor jer jedinstveno identifikuje svaki red u tabelama bez potrebe za dodavanjem dodatnih podataka. U nekim slučajevima najbolji izbor Postojaće surogat primarni ključ koji nije samo jedinstven, već je i male veličine, i čije vrijednosti se uzastopno povećavaju, što čini ne-klasterirane indekse zasnovane na ovoj vrijednosti efikasnijim. Optimizator upita također voli ovu kombinaciju klasteriranog indeksa i primarnog ključa jer je spajanje tabela brže od spajanja na drugi način koji ne koristi primarni ključ i njegov pridruženi klasterirani indeks. Kao što sam rekao, to je šibica napravljena na nebu.
Na kraju, međutim, vrijedno je napomenuti da prilikom kreiranja grupisanog indeksa postoji nekoliko aspekata koje treba uzeti u obzir: koliko će neklasteriranih indeksa biti zasnovano na njemu, koliko često će se mijenjati vrijednost stupca ključnog indeksa i koliko velika. Kada se vrijednosti u stupcima grupiranog indeksa promijene ili indeks ne radi kako se očekivalo, to može utjecati na sve ostale indekse u tablici. Grupirani indeks bi trebao biti zasnovan na najtrajnijoj koloni čije se vrijednosti povećavaju određenim redoslijedom, ali se ne mijenjaju na slučajan način. Indeks mora podržavati upite prema podacima tablice kojima se najčešće pristupa, tako da upiti u potpunosti iskorištavaju činjenicu da su podaci sortirani i dostupni na korijenskim čvorovima, listovima indeksa. Ako primarni ključ odgovara ovom scenariju, onda ga upotrijebite. Ako ne, odaberite drugi skup kolona.

Šta ako indeksirate pogled, da li je to još uvijek pogled?

Pogled je virtuelna tabela koja generiše podatke iz jedne ili više tabela. U suštini, to je imenovani upit koji dohvaća podatke iz osnovnih tabela kada postavljate upit za taj pogled. Možete poboljšati performanse upita kreiranjem grupisanog indeksa i neklasteriziranih indeksa na ovom prikazu, slično kao što kreirate indekse na tablici, ali glavno upozorenje je da prvo kreirate klasterirani indeks, a zatim možete kreirati neklasterirani indeks.
Kada se kreira indeksirani pogled (materijalizirani pogled), onda sama definicija pogleda ostaje zaseban entitet. Ovo je, na kraju krajeva, samo tvrdo kodirani operator SELECT, pohranjen u bazi podataka. Ali indeks je sasvim druga priča. Kada kreirate grupirani ili neklasterizovani indeks na dobavljaču, podaci se fizički spremaju na disk, baš kao i običan indeks. Osim toga, kada se podaci promijene u osnovnim tabelama, indeks pogleda se automatski mijenja (to znači da biste mogli izbjeći indeksiranje pogleda na tabelama koje se često mijenjaju). U svakom slučaju, pogled ostaje pogled - pogled na tabele, ali precizno izveden ovog trenutka, sa indeksima koji mu odgovaraju.
Prije nego što možete kreirati indeks na prikazu, on mora zadovoljiti nekoliko ograničenja. Na primjer, pogled može referencirati samo osnovne tablice, ali ne i druge poglede, a te tablice moraju biti u istoj bazi podataka. Zapravo postoje mnoga druga ograničenja, pa svakako provjerite dokumentaciju SQL Server za sve prljave detalje.

Zašto koristiti indeks pokrivanja umjesto kompozitnog indeksa?

Prvo, hajde da se uverimo da razumemo razliku između to dvoje. Složeni indeks je jednostavno običan indeks koji sadrži više od jedne kolone. Višestruki ključ stupci se mogu koristiti da bi se osiguralo da je svaki red u tabeli jedinstven, ili možete imati više kolona kako biste osigurali da je primarni ključ jedinstven, ili možda pokušavate optimizirati izvršavanje često pokrenutih upita na više kolona. Općenito, međutim, što više ključnih kolona indeks sadrži, to će indeks biti manje efikasan, što znači da bi kompozitne indekse trebalo razumno koristiti.
Kao što je rečeno, upit može imati velike koristi ako se svi potrebni podaci odmah nalaze na listovima indeksa, baš kao i sam indeks. Ovo nije problem za klasterizovani indeks jer svi podaci su već tamo (zbog čega je toliko važno da pažljivo razmislite kada kreirate klasterizovani indeks). Ali negrupisani indeks na listovima sadrži samo ključne stupce. Za pristup svim ostalim podacima, optimizator upita zahtijeva dodatne korake, koji mogu dodati značajne troškove izvršavanju vaših upita.
Tu u pomoć dolazi indeks pokrivanja. Kada definirate neklasterirani indeks, možete specificirati dodatne stupce svojim ključnim stupcima. Na primjer, recimo da vaša aplikacija često postavlja upite o podacima stupaca OrderID I OrderDate u tabeli Prodaja:
SELECT OrderID, OrderDate FROM Sales WHERE ID naloga = 12345;
Možete kreirati složeni negrupisani indeks na oba stupca, ali stupac OrderDate će samo dodati dodatne troškove održavanja indeksa bez da služi kao posebno korisna ključna kolona. Najbolja odluka bilo bi kreiranje indeksa pokrivanja na ključnoj koloni OrderID i dodatno uključena kolona OrderDate:
CREATE NENCLUSTERED INDEX ix_orderid NA dbo.Sales(OrderID) INCLUDE (OrderDate);
Time se izbjegavaju nedostaci indeksiranja suvišnih kolona dok se i dalje održavaju prednosti pohranjivanja podataka u listovima prilikom pokretanja upita. Uključena kolona nije dio ključa, ali podaci se pohranjuju na lisni čvor, indeksni list. Ovo može poboljšati performanse izvršenja upita bez ikakvog utjecaja. dodatni troškovi. Osim toga, stupci uključeni u indeks pokrivanja podliježu manjem ograničenju od ključnih stupaca indeksa.

Da li je važan broj duplikata u ključnoj koloni?

Kada kreirate indeks, morate pokušati smanjiti broj duplikata u ključnim stupcima. Ili preciznije: pokušajte da učestalost ponavljanja bude što niža.
Ako radite sa složenim indeksom, tada se dupliranje primjenjuje na sve ključne stupce u cjelini. Jedna kolona može sadržavati mnogo dupliciranih vrijednosti, ali bi trebalo biti minimalno ponavljanje među svim stupcima indeksa. Na primjer, kreirate složeni neklasterirani indeks na stupcima Ime I Prezime, možete imati mnogo John Doe vrijednosti i mnogo vrijednosti Doe, ali želite imati što manje vrijednosti John Doea, ili po mogućnosti samo jednu John Doe vrijednost.
Omjer jedinstvenosti vrijednosti ključne kolone naziva se selektivnost indeksa. Što je više jedinstvenih vrijednosti, veća je selektivnost: jedinstveni indeks ima najveću moguću selektivnost. Mehanizam upita zaista voli kolone sa visokim vrijednostima selektivnosti, posebno ako su te kolone uključene u klauzule WHERE vaših najčešće izvršavanih upita. Što je indeks selektivniji, to brže mašina za upite može smanjiti veličinu rezultirajućeg skupa podataka. Loša strana je, naravno, to što će stupci sa relativno malo jedinstvenih vrijednosti rijetko biti dobri kandidati za indeksiranje.

Da li je moguće kreirati negrupisani indeks samo na određenom podskupu podataka ključne kolone?

Prema zadanim postavkama, neklasterirani indeks sadrži jedan red za svaki red u tablici. Naravno, isto možete reći i o grupisanom indeksu, pod pretpostavkom da je takav indeks tabela. Ali kada je u pitanju indeks koji nije grupiran, odnos jedan-na-jedan je važan koncept jer, počevši od verzije SQL Server 2008, imate mogućnost kreiranja indeksa koji se može filtrirati i koji ograničava redove uključene u njega. Filtrirani indeks može poboljšati performanse upita jer... manja je po veličini i sadrži filtriranu, precizniju statistiku od svih tabelarnih - to dovodi do kreiranja poboljšanih planova izvršenja. Filtrirani indeks također zahtijeva manje prostora za skladištenje i niže troškove održavanja. Indeks se ažurira samo kada se promijene podaci koji odgovaraju filteru.
Osim toga, indeks koji se može filtrirati je lako kreirati. U operateru CREATE INDEX samo treba da ukažete GDJE stanje filtera. Na primjer, možete filtrirati sve redove koji sadrže NULL iz indeksa, kao što je prikazano u kodu:
CREATE NENCLUSTERED INDEX ix_trackingnumber NA Sales.SalesOrderDetail(CarrierTrackingNumber) GDJE CarrierTrackingNumber NIJE NULL;
U stvari, možemo filtrirati sve podatke koji nisu važni u kritičnim upitima. Ali budite oprezni, jer... SQL Server nameće nekoliko ograničenja na indekse koji se mogu filtrirati, kao što je nemogućnost kreiranja indeksa koji se može filtrirati na prikazu, pa pažljivo pročitajte dokumentaciju.
Takođe može biti da možete postići slične rezultate kreiranjem indeksiranog prikaza. Međutim, filtrirani indeks ima nekoliko prednosti, kao što je mogućnost smanjenja troškova održavanja i poboljšanja kvalitete vaših planova izvršenja. Filtrirani indeksi se također mogu ponovo izgraditi na mreži. Pokušajte ovo sa indeksiranim prikazom.

I opet malo od prevodioca

Svrha pojavljivanja ovog prijevoda na stranicama Habrahabra bila je da vas ispriča ili podsjeti na blog SimpleTalk od RedGate.
Objavljuje mnogo zabavnih i zanimljivih postova.
Nisam povezan sa proizvodima kompanije RedGate, niti njihovom prodajom.

Kao što sam obećao, knjige za one koji žele znati više
Preporučujem tri vrlo dobre knjige od sebe (linkovi vode do Kindle verzije u prodavnici Amazon):

U principu, možete otvoriti jednostavne indekse Dodaj oznake
Microsoft SQL Server 2012 T-SQL osnove (referenca za programere)
Autor Itzik Ben-Gan
Datum objave: 15. jul 2012
Autor, majstor svog zanata, daje osnovna znanja o radu sa bazama podataka.
Ako ste sve zaboravili ili nikad niste znali, svakako je vrijedno pročitati.

Posebna vrsta relativnih vrijednosti su indeksi. Indeks (Index) znači pokazivač, indikator. Karakteristike indeksa su sljedeće:

1) uz pomoć indeksa može se izraziti odnos heterogenih pojava čiji se pokazatelji ne mogu direktno sumirati. Koristeći indeks, možete utvrditi procenat ispunjenosti plana za svaku pojedinačnu vrstu proizvoda, kao i prosečan procenat ispunjenje plana za sve proizvode trgovačko preduzeće, koja proizvodi različite vrste proizvoda;

2) pomoću indeksa možete okarakterisati stepen realizacije plana i stepen promene pojava tokom vremena i odnos veličina pojava u prostoru; kroz ekonomskih indeksa možete izraziti zadatak prema planu.

U statistici index– to je relativna vrijednost koja karakteriše promjene u vremenu i prostoru u nivou društvenog fenomena (procesa) koji se proučava, odnosno stepena implementacije plana.

Na osnovu stepena pokrivenosti razlikuju se dva tipa indeksa: pojedinačni i opšti.

2. Individualni indeksi

Individualni indeksi karakteriziraju odnos između pojedinih elemenata agregata.

Primjer pojedinačnih indeksa može biti postotak ispunjenja plana ili dinamika proizvodnje jedne vrste proizvoda, postotak ispunjenosti plana ili dinamika troškova jedne vrste proizvoda, ili omjer proizvodnje jedne vrste proizvoda. proizvoda za isti period u različitim područjima.

Pojedinačni indeks se označava slovom.Određuje se metodom poređenja dvije vrijednosti koje karakterišu nivo statističkog procesa ili fenomena koji se proučava u vremenu ili prostoru, odnosno za dva perioda koja se porede. čiji se nivo upoređuje) naziva se izvještajni period. ili tekući period i označava se indeksom „I“, a period sa čijim se nivoom se vrši poređenje naziva se baza i označava se indeksom „O“ ili „rya“ ako se tokom planiranja unutar kompanije poređenje je napravljen sa planom. Ako se promjene u pojavama proučavaju u više perioda, onda je svaki period označen indeksom "O", "1", "2", "3" itd.

U statistici se količina označava slovom “q”, a cijena “p”. trošak – “z”, vrijeme utrošeno na proizvodnju jedinice proizvoda – “t”.

Individualni indeksi izražavaju se na sljedeći način:


gdje je q 1 i q 0 – broj proizvoda proizvedenih u izvještajnom i baznom periodu. Ovaj indeks karakterizira promjenu fizičkog obima proizvoda u vremenu, prostoru, ako uporedimo proizvodnju iste vrste proizvoda u istom vremenskom periodu, ali za različite objekte (tvornice, teritorije i sl.), i plan , ako stvarno izdanje uporediti sa planiranim ciljem;


gdje su p 1 i p 0 cijena jedinice proizvodnje u izvještajnom i baznom periodu.

Indeks troškova:

Gdje z 1 I z 0 – trošak po jedinici proizvodnje u izvještajnom i baznom periodu. Indeks intenziteta rada:


Gdje t 1 I t 0 – vrijeme provedeno u izvještajnom i baznom periodu na proizvodnju jedinice proizvoda.

Promjene u obimu prodaje robe u vrijednosnom smislu odražavaju pojedinca indeks prometa:


Gore navedeni indeksi: cijene, fizički obim i trgovinski promet su međusobno povezani:


Ovaj odnos pokazuje da na promjene u prometu utječu dinamika cijena i promjena obima prodaje datog proizvoda.

Individualni indeksi su u suštini relativne vrijednosti dinamike, implementacije plana ili poređenja. Indeks kao relativni pokazatelj izražava se u obliku koeficijenata kada se kao osnova za poređenje uzima jedan, a u procentima kada se kao osnova za poređenje uzima 100.

Osnovni i lančani indeksi

Da biste odredili statističke indekse, morate imati podatke za dva perioda ili dva nivoa za poređenje.

Ako postoje podaci za određeni broj perioda ili nivoa, onda se kao osnova za poređenje može uzeti isti početni nivo ili nivo prethodnog perioda. U prvom slučaju dobijamo indekse sa konstantnom bazom - osnovni, a u drugom - indeksi s promjenjivom bazom - lanac

IN ekonomske analize osnovni i lančani indeksi imaju specifična značenja.

Osnovni ekonomski indeksi karakterišu promjene u statističkim procesima u dužem vremenskom periodu u odnosu na jednu polaznu tačku, ali ako postoji potreba za praćenjem trenutnih promjena u statističkom procesu, onda se koriste lančani indeksi.

Ako se isti period proučava na osnovu osnovnog i lančanog indeksa, to znači da postoji veza između njih - to je proizvod lančanih indeksa jednak osnovnom.Takav odnos će omogućiti da se osnovni indeksi izračunaju iz podatke lančanih indeksa, i obrnuto.

Opšti indeksi

Opšti indeksi karakterišu odnos skupa statističkih procesa ili pojava koji se sastoje od heterogenih, direktno nesamerljivih elemenata. Za određivanje ukupne cijene različitih vrsta proizvoda, cijena po jedinici proizvoda obično se koristi kao zajednička mjerenja, kako bi se odredila ukupni troškovi ili troškovi proizvodnje - troškovi po jedinici proizvodnje, ukupni troškovi rada - troškovi rada po jedinici proizvodnje itd.

Ukupna promjena prometa od nabavne vrijednosti prodate robe može se utvrditi poređenjem ukupne cijene prodane robe u izvještajnom periodu po cijenama izvještajnog perioda sa ukupni troškovi roba prodata u baznom periodu po cijenama baznog perioda.

Formula za opšti indeks prometa:


Slično indeksu trgovinskog prometa, izračunavaju se indeksi proizvodnje, potrošnje itd.

Gornja formula za indeks trgovinskog prometa naziva se agregat (od latinskog aggrega - "dodajem"). Agregatni indeksi su oni čiji su brojnici i imenioci zbroji, proizvodi ili zbroji proizvoda nivoa statističke pojave koja se proučava. Formula agregatnog indeksa je glavna i najčešća formula za ekonomiju

dex. Zbirna formula indeksa pokazuje relativnu promjenu proučavanog ekonomski proces i apsolutni obim ove promjene.

Izračun agregatnog indeksa cijena po ovoj formuli predložio je njemački ekonomista G. Paasche, stoga se obično naziva Paascheov indeks.

3. Ponderi agregatnih indeksa cijena i fizičkog obima proizvodnje

Zbirna formula indeksa trgovinskog prometa pokazuje da njegova vrijednost zavisi od dvije pojave, od dvije varijable: fizičkog obima trgovinskog prometa, odnosno broja prodate robe, i cijene za svaku prodanu jedinicu robe. Da bi se identifikovao uticaj svake varijable posebno, uticaj jedne od njih treba isključiti, odnosno prihvatiti je uslovno kao stalnu, nepromenljivu vrednost na nivou izveštajnog ili baznog perioda. Razmotrimo pitanje koji period uzeti kao konstantnu vrijednost na primjeru indeksa cijena i indeksa fizičkog obima trgovinskog prometa.

Zbirni indeks cijena. Ukupna promjena cijena može se utvrditi ako se broj prodatih roba u izvještajnom ili baznom periodu posmatra kao konstanta. Ako za dobijanje indeksa cena kao pondere uzmemo podatke o broju prodatih roba tokom izveštajnog perioda, možemo dobiti sledeću formulu za agregatni indeks cena:


Gdje str 1 I R 0 – jedinice prodate robe u izvještajnom i baznom periodu;

q 1 – broj prodate robe u izvještajnom periodu.

Ako kao pondere uzmemo podatke o broju prodatih roba u baznom periodu, onda će formula za agregatni indeks cijena imati oblik:


Rezultirajuće formule za agregatne indekse cijena sa izvještajnim i osnovnim ponderima nisu identične.

Vrijednost indeksa zavisi od indeksiranih pokazatelja, odnosno od veličina čije promjene treba da utvrdimo i od faktora koji se uzimaju kao ponderi, a u zavisnosti od podataka koji su uzeti kao ponderi - to su podaci iz baznog ili izvještajnog perioda, dobijamo dva različita indeksa.

Prvi indeks pokazuje promjenu cijena izvještajnog perioda u odnosu na osnovicu za prodate proizvode u izvještajnom periodu i stvarne uštede od sniženja cijena.

Drugi indeks pokazuje koliko su se cijene promijenile u izvještajnom periodu u odnosu na bazne, ali samo za proizvode koji su prodati u baznom periodu, te uštede koje su se mogle ostvariti kao rezultat nižih cijena.

Apsolutne stvarne uštede od sniženja cijena u izvještajnom periodu utvrđuju se na sljedeći način:


Apsolutne uslovne uštede u baznom periodu:


Za izračunavanje indeksa cijena potrebno je uporediti nabavnu vrijednost prodate robe u izvještajnom periodu po cijenama izvještajnog perioda sa nabavnom vrijednosti iste robe, ali po cijenama baznog perioda.

Zbirni indeks cijena je razlomak čiji se brojnik i imenilac sastoje od dva faktora. Jedna od njih je varijabilna indeksirana veličina (p 1 i p 0). a druga se prihvata uslovno kao konstantna vrednost - težina indeksa (q 1 ).

Zbirni indeks fizičkog obima trgovinskog prometa

Indeks fizičkog obima trgovinskog prometa predstavlja promjenu fizičkog obima u izvještajnom periodu u odnosu na bazni. Da bi agregatni indeks prikazao samo promjene fizičkog obima trgovinskog prometa, kao ponderi se uzimaju stalne cijene baznog i izvještajnog perioda.

Stalne cijene su uvijek samo cijene baznog perioda. Upotreba stalnih cijena kao pondera omogućava da se dobije ispravna predstava o dinamici fizičkog obima trgovinskog prometa.

U indeksu fizičkog obima faktor indeksiranog indikatora uzima se na nivou baznog perioda.

Formula agregatni indeks fizičkog obima proizvodnje:


Gdje? q 1 str 0 – trošak proizvoda izvještajnog perioda u baznim cijenama;

?q 0 str 0 – trošak proizvoda baznog perioda po cijenama istog perioda.

Da li se apsolutna promjena fizičkog volumena izračunava kao razlika između brojnika i nazivnika indeksa? q 1 str 0 – ?q 0 str 0


Konstantne i varijabilne težine agregatnih indeksa

Ako se indeksi računaju za više perioda, onda se za sve mogu usvojiti isti ponderi - indeksi sa konstantnim težinama, ili za svaki period svoje težine - indeksi sa promjenjivim težinama.

Teoretski, moguće su četiri vrste indeksa.

1. Opći osnovni indeksi cijena sa konstantnim (osnovnim) ponderima:


2. Opšti osnovni indeksi cijena sa varijabilnim (izvještajnim) ponderima:


3. Opći indeksi lančanih cijena sa konstantnim ponderima:


4. Opći indeksi lančanih cijena s promjenjivim ponderima:


Ovi indeksi se dobijaju upoređivanjem cena svakog narednog perioda sa prethodnim, ali su u svakom slučaju ponderisani brojem roba u izveštajnom periodu.

Ovi indeksi odražavaju kako promjene cijena u nizu uzastopnih perioda, tako i promjene u strukturi prodane robe.

Za karakterizaciju promjena cijena u odnosu na početni period bez uzimanja u obzir promjena u strukturi proizvedene robe koriste se opći osnovni indeksi sa konstantnim ponderima; za iste svrhe, ali uzimajući u obzir promjene u strukturi, koriste se osnovni indeksi s promjenjivim ponderima se koriste. Za utvrđivanje promjene cijena svakog perioda u odnosu na prethodni, bez uzimanja u obzir promjena u strukturi prodane robe, koriste se lančani indeksi sa konstantnim ponderima; uzimajući u obzir promjene u strukturi koriste se lančani indeksi sa promjenjivim ponderima .

Izbor perioda ponderisanja indeksa zavisi od toga koji se indeksi izračunavaju: indeksi kvantitativnih (obimnih) ili kvalitativnih indikatora.

4. Ostali agregatni indeksi

Pogledajmo neke od zbirnih indeksa.

1. Indeks troškova proizvoda pokazuje koliko je puta trošak u izvještajnom periodu u prosjeku veći ili manji od osnovnog ili planiranog troška, ​​kao i apsolutni iznos ušteda ili prekoračenja kao rezultat promjene troškova. Indeks troškova je indeks pokazatelja kvaliteta

leja i izračunava se po težini (volumen) proizvoda izvještajnog perioda:


Gdje z 1 , – jedinični trošak proizvodnje u izvještajnom periodu;

z 0 – trošak po jedinici proizvodnje u baznom (ili planskom) periodu;

q 1 – količina proizvoda u izvještajnom periodu.

2. Indeks produktivnosti rada. Produktivnost rada određena je brojem proizvedenih proizvoda po jedinici vremena, odnosno troškom radnog vremena za proizvodnju jedinice proizvoda. Da biste utvrdili promjenu produktivnosti rada u izvještajnom periodu u odnosu na bazni period, potrebno je utrošiti radno vrijeme na proizvodnju jedinice proizvodnje u baznom periodu (t 0 ) podijeljeno sa troškovima radnog vremena za proizvodnju jedinice proizvoda u izvještajnom periodu

3. Individualni indeks produktivnosti rada jednak je:


Za konstruiranje agregatnog indeksa produktivnosti rada potrebno je radno vrijeme utrošeno na proizvodnju jedne jedinice proizvoda odmjeriti brojem proizvoda proizvedenih u izvještajnom periodu:

Gdje t 1 q 1 – stvarno vrijeme utrošeno na proizvodnju svih proizvoda u izvještajnom periodu;


t 0 q 1 pokazuje koliko je vremena bilo potrebno za proizvodnju svih proizvoda izvještajnog perioda u baznom periodu.

Agregatni indeks produktivnosti rada izračunava se na osnovu obima proizvodnje u izvještajnom periodu.

4. Indeks intenziteta rada karakteriše modifikaciju intenziteta rada jedinice proizvodnje u izvještajnom periodu u odnosu na bazni period. Vrijednost indeksa intenziteta rada obrnuto je proporcionalna vrijednosti indeksa produktivnosti rada, izračunatog iz vremena utrošenog na proizvodnju jedinice proizvoda. Formula individualnog indeksa:


i agregat:


Indeks intenziteta rada je indeks pokazatelja kvaliteta, a izračunava se i ponderima izvještajnog perioda.

5. Indeks izvršenja plana. Prilikom njegovog izračunavanja stvarni podaci se upoređuju sa planiranim, a ponderi indeksa mogu biti planirani i stvarni pokazatelji.

6. Indeksi aritmetičke sredine i harmonske sredine. Zbirni indeksi cijena, fizički obim trgovinskog prometa

a drugi se mogu izračunati ako su poznate indeksirane količine i težine, tj. p i q. Pretpostavimo da postoji proizvod pq i pojedinačni indeksi. Problem se javlja u konstruisanju prosječnih indeksa identičnih agregatnim usrednjavanjem pojedinačnih indeksa. Ovaj problem se rješava transformacijom agregatnog indeksa u indekse aritmetičke sredine i harmonske sredine. Transformacija zbirnog indeksa u aritmetičku sredinu može se razmotriti na primjeru agregatnog indeksa fizičkog obima trgovinskog prometa. U ovom slučaju, pojedinačni indeksi moraju biti ponderisani osnovnim komenzuratorima. Iz pojedinačnog indeksa fizičkog obima trgovinskog prometa i q = q 1 / q 0 proizilazi da je q 1 = i q / q 0.

Zamenimo li q 1 u brojiocu zbirnog indeksa fizičkog obima trgovinskog prometa I q = ?q 1 P 0 / ?q 0 P 0 sa i q q 0, dobićemo i q = ?i q q 0 p 0 / ?q 0 p 0 .

Ovo srednji aritmetički indeks fizičkog obima trgovinskog prometa.

Ali ako pojedinačne vrijednosti q 1 i p 1 nisu poznate, ali je dat njihov proizvod q 1 p 1 - promet izvještajnog perioda i pojedinačni indeksi cijena i p = p 1 / p 0, a zbirni indeks je izračunato sa izvještajnim ponderima, tada se koristi indeks harmonične srednje cijene. Neophodno je da se pojedinačni indeksi ponderišu tako da se indeks harmonske sredine poklapa sa agregatnim indeksom. Iz formule i p = p 1 / p 0 određujemo nepoznatu vrijednost p 0 i, zamjenjujući vrijednost p 0 = p 1 / i p u formuli za agregatni indeks cijena I p = ?q 1 P 1 / ?q 0 P 0 , dobijamo I p = ? P 1 q 1 / ?(p 1 / i p)q 1 = ?p 1 q 1 / ?(p 1 q 1 / i p).

Ovaj indeks se zove harmonska sredina.

7. Indeksi prosječnih vrijednosti.

Indeksi varijabilnog i fiksnog sastava

Ponekad, proučavajući dinamiku društvenih pojava, možete primijetiti da su njeni nivoi izraženi prosječnim vrijednostima (prosječni trošak, prosjek plate, prosječna produktivnost rada itd.). Dinamika prosječnih pokazatelja ovisi o simultanoj promjeni opcija od kojih se prosjeci formiraju i promjenama specifičnih težina ovih opcija, odnosno o strukturi fenomena koji se proučava.

Na promjenu dinamike prosječne vrijednosti statističkog procesa ili fenomena koji se proučava mogu istovremeno utjecati dva faktora: promjena prosječnog indikatora i promjena strukture. Proučavanje kombinovanog uticaja ovih faktora na ukupnu promenu dinamike prosečnog nivoa neke pojave, kao i uloge i uticaja svakog faktora posebno u ukupnoj dinamici proseka, sprovodi se u statistici koristeći sistem međusobno povezanih indeksa. Postoje indeksi varijabilnog i fiksnog sastava. Razmotrimo njihovu konstrukciju i sadržaj na primjeru indeksa troškova proizvoda.

Na vrijednost indeksa troškova proizvoda utiču promjene jediničnih troškova proizvodnje u svakoj firmi i promjene uloge pojedinih firmi u ukupnom obimu proizvodnje. Opšti indeks se definiše kao omjer sljedeća dva prosjeka:



Indeksi koji odražavaju promjene prosječnih vrijednosti zbog utjecaja indeksiranih vrijednosti sa konstantnim težinama nazivaju se indeksi fiksnog (konstantnog) sastava.

Dekompozicija opštih indeksa na faktorske omogućava određivanje uloge pojedinačnih faktora u ukupnoj promeni pojave u relativnom i apsolutnom smislu.

Proučavanje dinamike prosječnih pokazatelja metodom indeksa moguće je tek nakon podjele podataka stanovništva u grupe prema karakteristikama koje karakteriziraju strukturne promjene i izračunavanja grupnih prosjeka. Stoga je korištenje indeksne metode za provođenje faktorske analize i proučavanje strukturnih promjena usko povezano s metodom grupiranja.

Za analizu dinamike prosječnih pokazatelja, sistem međusobno povezanih indeksa može se predstaviti u sljedećem obliku:


gdje su x1 i x0 nivoi prosječnog indikatora u izvještajnom i baznom periodu, respektivno;

f1 i f2 – ponderi (učestalosti) prosječnih pokazatelja u izvještajnom i baznom periodu.

U navedenom sistemu međusobno povezanih indeksa, pri konstruisanju indeksa fiksnog sastava, struktura izvještajnog perioda se uzima kao ponderi, što omogućava praćenje promjena prosečna dinamika fenomen koji se proučava samo zbog promjena u prosječnim vrijednostima kvalitativnog indikatora. Prilikom konstruisanja indeksa strukturnih promena kao komerač uzeta je vrednost prosečnog pokazatelja na nivou baznog perioda, što nam daje mogućnost da proučavamo promenu prosečne dinamike pojave samo usled strukturnih promena. .

Teritorijalni (prostorni) indeksi.

Teritorijalni indeksi su potrebni za poređenje indikatora u prostoru, odnosno po preduzeću, okrugu, gradu, okrugu itd. Za izgradnju prostornih indeksa potrebno je riješiti niz metodoloških pitanja koja su povezana sa izborom baze za poređenje i težine, ili nivo , na kojem će težine biti zabilježene.

U bilateralnim poređenjima, svaka teritorija se može porediti i osnova za poređenje. Ponderi ovih teritorija imaju jednaku osnovu za korištenje pri izračunavanju indeksa. Međutim, to može dovesti do različitih ili suprotstavljenih rezultata i može se izbjeći na nekoliko načina.

Jedan način je da se kao ponderi uzmu količine prodate robe i-te vrste (I = 1, 2, 3, ... n) u dva regiona zajedno:

Q 1 = q ia + q ib .

Indeks teritorijalnih cijena u ovom slučaju se izračunava pomoću formule:


Drugi metod izračunavanja teritorijalnih indeksa uzima u obzir omjer pondera u svakoj od uspoređenih teritorija. Ovom metodom, prvi korak je izračunavanje prosječne cijene svakog proizvoda za dvije teritorije zajedno:


Nakon toga se izračunava teritorijalni indeks.

Indeksi

Indeksna metoda je jedna od najčešćih metoda statističke analize ekonomskih pojava. Koristeći indekse, proučava se nacionalna privreda u cjelini i njeni pojedinačni sektori, kao i djelatnosti preduzeća, udruženja, firmi, farmi itd.; otkriva se dinamika razvoja socio-ekonomskih pojava, analizira provođenje planova ili normi; utvrđuje se uticaj pojedinih faktora na ukupan rezultat, otkrivaju proizvodne rezerve; vrše se teritorijalna i međunarodna poređenja ekonomskih pokazatelja.

Indeks u statistici je relativni indikator koji karakteriše odnos u vremenu, u poređenju sa planom ili u prostoru, nivoa društveno-ekonomskih pojava. Budući da je indeks relativan indikator, on se uvijek dobija omjerom dvije vrijednosti: izvještajne (ili tekuće), odnosno one koja se upoređuje, i osnovne, odnosno one sa čijim nivoom je izvještajna vrijednost se poredi. Ako se za osnovu poređenja uzme nivo pojave za neki prošli vremenski period, dobijaju se dinamički indeksi; ako se za osnovu poređenja uzme nivo pojave na drugoj teritoriji, dobijaju se teritorijalni indeksi.

U formulama, sistemima jednačina, ekonomskim i matematičkim modelima, tekući podaci se označavaju jedinicom koja se nalazi odmah ispod slovne oznake vrijednosti. Na primjer: p 1, podatak koji se koristi kao osnova za poređenje se označava nulom: p 0. (U matematici se takve oznake nazivaju indeksi, u statistici - indeksi.) Kao i svaka relativna vrijednost, indeksi se izražavaju u u obliku koeficijenata ako se kao osnovica uzme jedan, ili u obliku procenta ako se za osnovu uzme sto.

Društveno-ekonomske pojave koje proučava statistika obično se sastoje od mnogo elemenata. Dakle, bruto proizvodnja proizvoda i usluga uključuje vrijednost finalnih dobara i usluga stvorenih svim društveno organizovanim vidovima privredne djelatnosti iu svim sektorima privrede. Drugim riječima, bruto proizvodnja proizvoda i usluga sastoji se od više pojedinačnih vrsta proizvoda i usluga.

Indeksi se izračunavaju kako za pojedinačne elemente kompleksne pojave, tako i za cijeli kompleksni fenomen u cjelini. U prvom slučaju se zovu pojedinac i označeni su latiničnim slovom i, au drugom - general i označeni su sa I. Individualni indeksi uključuju indekse koji karakteriziraju promjene u proizvodnji jedne određene vrste proizvoda (indeksi topljenja čelika, proizvodnje kalijevog gnojiva, televizijske proizvodnje itd.), indekse koji karakteriziraju promjenu cijene bilo kojeg proizvoda (bicikli, cement, govedina itd.). ), trošak pojedinačnog proizvoda itd.

Indeksi izračunati za čitav kompleksni fenomen, odnosno opšti, obuhvataju indekse koji karakterišu dinamiku proizvodnje svih proizvoda preduzeća, industrije i sl., dinamiku cena za grupu roba, ili svu robu, ili skup proizvoda. prehrambenih i neprehrambenih dobara i usluga uključenih u „potrošačku korpu“, dinamiku troškova određenog broja proizvoda.

Za praktičnost konstruisanja indeksa u teoriji statistike razvijena je simbolika, odnosno svaka analizirana vrijednost ima svoju oznaku. Tako se broj jedinica date vrste proizvedenog ili prodanog proizvoda označava sa - q, cijena jedinice proizvoda - p, cijena jedinice proizvoda - z, intenzitet rada jedinice proizvoda - t, učinak po radniku - w, specifična potrošnja materijala (goriva), odnosno potrošnja materijala (goriva) po jedinici proizvodnje, - m, itd.

Stoga će pojedinačni indeks fizičkog volumena imati oblik:

Formula za pojedinačni indeks cijena će biti:

i indeks pojedinačnih troškova:

Indeksna klasifikacija:



Opšti indeksi koriste se za poređenje direktno neuporedivih, heterogenih pojava. Na primjer, pomoću općih indeksa može se okarakterizirati dinamika proizvodnje cijele industrije ili dinamika obima cjelokupne proizvodnje u fabrici namještaja koja proizvodi različite vrste proizvoda: stolove, fotelje, sofe, ormariće. Međutim, ne možete jednostavno sabrati količine proizvoda različitih vrsta za dva perioda i pripisati te količine jedni drugima. Ovakvo zbrajanje je besmisleno ne samo zbog različitih mjernih jedinica (tone, komadi, metri itd.), već i zbog toga što svaka vrsta proizvoda ima svoju namjenu i proizvodi se s različitim troškovima sredstava i društveno potrebnim vremenom.

Da bi nesamerljive pojave (ili njihove elemente) učinili uporedivim, potrebno ih je izraziti zajedničkom merom; troškovi, troškovi rada itd. Ovaj problem se rješava konstruiranjem i izračunavanjem općih indeksa. Glavni oblik opštih indeksa su agregatni indeksi.

Zbirni indeks se sastoji od 2 elementa:

2. Indikatori koji služe kao komjernici (skale).

Proizvod indeksirane količine i komjeritelja (težine) treba da daju određenu ekonomsku kategoriju (pq, Yq, tq, itd.).

Pravila za konstruisanje agregatnih indeksa:

1. Ako se konstruiše indeks kvalitativnog indikatora, onda indikatori djeluju kao ponderi izvještajni period.

2. Ako se konstruiše indeks kvantitativnog indikatora, onda indikatori baznog perioda djeluju kao ponderi.

Zbirni indeks troškova proizvoda:

Ypq

str 0 ?q 0, str 1 ?q 1 - trošak proizvedenih proizvoda u baznom i izvještajnom periodu.

Yq - karakteriše promene stvarni trošak proizvedenih proizvoda prema analiziranoj listi:

Veza:

Apsolutna promjena:

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

Zbirni indeks cijena:

Yp

str 0 , str 1 - cijenu svake vrste proizvoda, odnosno u baznom i izvještajnom periodu.

q 1 - obim svake vrste proizvoda u izvještajnom periodu.

Yp - karakterizira kako su se cijene raznih vrsta proizvoda u prosjeku mijenjale.

Veza:

Apsolutna promjena:

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

Zbirni indeks fizičkog volumena:

Yq

q0 je obim svake vrste proizvoda u baznom periodu.

Yq - karakteriše kako se prosek promenio ukupni volumen proizvodi prema analiziranoj listi:

Veza:

Apsolutna promjena:

Pqq = ?q1?p0-?q0?p0

Prosječni indeksi- vrsta opštih indeksa, koji se računaju kao vrednost pojedinačnih indeksa (kao aritmetička sredina ili kao harmonijska sredina).

Oni su:

-Aritmetički prosječni ponderirani indeks - dobija se iz agregata ako u brojniku zamijenimo vrijednost indeksiranog pokazatelja izvještajnog perioda jednakim umnoškom vrijednosti pojedinačnog indeksa i vrijednosti indeksirane vrijednosti baznog perioda.

Na primjer: aritmetički prosječni ponderirani indeks obima proizvodnje:

Koristi se umjesto zbirnih indeksa kvantitativnih indikatora.

-Prosječni harmonički ponderirani indeks - takođe dobijeno iz agregata, samo što se u nazivniku vrijednost indeksirane vrijednosti baznog perioda zamjenjuje jednakim odnosom vrijednosti indeksirane vrijednosti izvještajnog perioda prema vrijednosti pojedinačnog indeksa.

Na primjer: harmonični prosječni ponderirani indeks cijena:

Koristi se umjesto zbirnih indeksa indikatora kvaliteta.

Ekonomski fenomeni se često karakterišu pomoću prosjeka. Konkretno, svi pokazatelji kvaliteta obično se izražavaju kao prosjeci: prosječna cijena jedinice proizvodnje (), prosječna cijena jedinice proizvoda (), prosječna plata po radniku (), prosječna proizvodnja po radniku (), prosječan intenzitet rada po proizvodu () itd. Za proučavanje dinamike takvih indikatora, u statističkoj praksi se koriste indeksi prosječnih vrijednosti (prosječni nivoi).

Razmotrimo konstrukciju ovih indeksa na primjeru dinamike prosječnog intenziteta rada po jedinici proizvodnje (prosječno utrošeno vrijeme po jedinici proizvodnje).

Indeksi varijabilnog sastava:

T 0, t 1 - nivoi intenziteta rada po jedinici proizvodnje za bazni i izvještajni period.

Indeks varijabilnog sastava – karakteriše promjenu prosječnog nivoa u cjelini zbog dva faktora: promjene prosječnih nivoa (indeksirana vrijednost t) i uticaja strukturnih promjena, tj. promjene u specifičnim težinama jedinica stanovništva.

Veza:

zbog promjena u nivoima karakteristike koja se procjenjuje i zbog promjena u strukturi:

Indeksi konstantnog (fiksnog) sastava:

Karakterizira kako se nivo proučavanog indikatora mijenja samo zbog promjena direktno indeksirane vrijednosti (t).

Veza:

Apsolutna promjena prosječnog nivoa:

Indeksi strukturnih promjena:

Karakterizira kako se nivo proučavanog indikatora mijenja samo zbog uticaja strukturnih promjena.

Veza:

Apsolutna promjena prosječnog nivoa:

Svi gore razmatrani indeksi upoređuju podatke za dva vremenska perioda: osnovni i izvještajni. Međutim, radi dubljeg proučavanja dinamike ekonomskih pojava, utvrđivanja obrazaca i trendova u njihovom razvoju, poređenja indeksa se vrše u nizu uzastopnih perioda. U ovom slučaju se izračunava sistem lančanih i osnovnih indeksa.

Osnovni indeksi je sistem sekvencijalno izračunatih indeksa istog fenomena, koji karakteriše njegovu promjenu u odnosu na konstantnu bazu, tj. indeksirana vrijednost baznog perioda uzima se kao imenilac svih izračunatih indeksa.

Lančani indeksi naziva se sistem indeksa istog fenomena, koji pokazuje njegovu promjenu u odnosu na promjenjivu bazu, odnosno svaka indeksirana vrijednost se upoređuje sa prethodnom vrijednošću.

Izbor indeksnog sistema određen je zadacima analize. Za procjenu stope promjena koje se javljaju iz perioda u period, koriste se lančani indeksi. Ako je svrha studije utvrditi ukupnu promjenu ekonomski fenomen za određeni istorijski period izračunavaju se bazni indeksi.

Sistem lančanih i osnovnih indeksa može se izračunati kako za poseban element kompleksne pojave (pojedinačni indeksi), tako i za cjelokupni kompleksni fenomen (opći indeksi). Pojedinačni osnovni i lančani indeksi su identični vrijednostima osnovne i lančane relativne dinamike.

Sekvencijalni proizvod P lančani pojedinačni indeksi daje n- bazni indeks i omjer P- osnovni individualni indeks prema prethodnom ( n-1) daje P- th lančani indeks.