Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Foreign Keys i Indexi

[es] :: MS SQL :: Foreign Keys i Indexi

[ Pregleda: 1320 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

matobj

Član broj: 72323
Poruke: 73
*.adsl.net.t-com.hr.



Profil

icon Foreign Keys i Indexi24.04.2010. u 10:18 - pre 170 meseci
Pozdrav,

zanima me moram li staviti indexe na polja koja mi sluze kao foreign keys?

Dakle imam npr tabelu Knjige i na njoj polja id (koje je index), naziv i polje kojavrsta (to polje mi sluzi kao foreign key za drugu tabelu)
E sad trebam li i na to polje "kojavrsta" staviti index (u tom polju ce biti samo vrijednosti npr. 1 i 0)?

I drugo pitanje. Ako trebam staviti indexe na ta polja koja su foreign (ako ih imam vise), dali je bolje napraviti ovako:

Code:

CREATE NONCLUSTERED INDEX [Knjige_idx3] ON [dbo].[Knjige]
  ([KojaVrsta])
WITH (
  PAD_INDEX = OFF,
  DROP_EXISTING = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  SORT_IN_TEMPDB = OFF,
  ONLINE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

CREATE NONCLUSTERED INDEX [Knjige_idx4] ON [dbo].[Knjige]
  ([KojiAutor])
WITH (
  PAD_INDEX = OFF,
  DROP_EXISTING = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  SORT_IN_TEMPDB = OFF,
  ONLINE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO


ili je bolje ovako - da ih zajedno stavim u "jedan" index:

Code:

CREATE NONCLUSTERED INDEX [Knjige_idx11] ON [dbo].[Knjige]
  ([KojaVrsta], [KojiAutor])
WITH (
  PAD_INDEX = OFF,
  DROP_EXISTING = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  SORT_IN_TEMPDB = OFF,
  ONLINE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO


Uf nadam se da ce netko skuziti sta je pjesnik mislio reci :)

 
Odgovor na temu

sule99
student

Član broj: 227708
Poruke: 93
*.adsl.net.t-com.hr.



+1 Profil

icon Re: Foreign Keys i Indexi26.04.2010. u 08:38 - pre 170 meseci
Obično ako polje sadrži samo dvije vrijednosti, kao što je kod tebe slučaj (rekao si 0 i 1) onda nema potrebe stavljati index nad tom kolonom. Indexi se stavljaju obično nad kolonama nad kojima često vršiš pretragu i koje imaju različite vrijednosti, da bi onda ta pretraga bila brža i efikasnija. Ima na forumu dosta tema o indexima pa malo potraži i pročitaj o tome.

Za ovo drugo ovisi šta ti treba. Ako koristiš selekt u kojem se nalaze obije kolone (KojaVrsta i KojiAutor) onda ti je bolje koristit drugi tip indexa, a ako u selektima koristiš odvojeno te kolone onda je bolje kreirati index nad svakom kolonom posebno. Također, ovo ne znači da ćeš riješiti stvar jer možda je potrebno staviti još neke index-e osim ovih spomenutih.

i ne nije potrebno da nad poljem koje je strani ključ bude definiran index, ako je primarni onda je automatski dodjeljen i index.

pozz
 
Odgovor na temu

matobj

Član broj: 72323
Poruke: 73
*.adsl.net.t-com.hr.



Profil

icon Re: Foreign Keys i Indexi26.04.2010. u 14:59 - pre 170 meseci
Zahvaljujem na odgovoru
 
Odgovor na temu

[es] :: MS SQL :: Foreign Keys i Indexi

[ Pregleda: 1320 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.