Blitz Posted September 8, 2006 Report Share Posted September 8, 2006 Jā nu nekad nebiju iedomajies ka sistemas atrdarbību palēnina tas, ka tabulām nav neviens indeks. Tatad varbut uzdošu pāris teoretiskus jautajumus. 1) Indeksus jāliek tikai tām kolonnām pēc kurām notiek meklēšana, WHERE kolonna='value'? 2) Indeksus jaliek ari tām kolonnām pēc kurām notiek grupēšana un kārtošana, GROUP BY kolonna1, kolonna2? 3) Tabulas ierakstu daudzums kurām ieteicams likt indeksus, mazām tabulām dzirdeju ka tas visu sačakarē. 4) Varbut vel varat iemest kādas noderigas piezīmes par indeksēšanu. Link to comment Share on other sites More sharing options...
litt Posted September 8, 2006 Report Share Posted September 8, 2006 Indeksus noteikti vajadzētu likt uz PK (Primery Key) kolonnas un uz FK (Foreign Key) kolonnām Ar indeksiem noteikti nevajag aizrauties, jo pie lielām tabulām tas pazemina performanci pie insertiem (ja būs indeksi uz visām kolonnām, tad pie inserta visi ir jāpārveido un x miljonu tabulai tas prasīs laiku) Link to comment Share on other sites More sharing options...
Blitz Posted September 8, 2006 Author Report Share Posted September 8, 2006 Par tiem insertiem, laikam iznāk tā, ka pie katra inserta viņam ir japārrēķina visi indeksi, un ja to ir nejēgā daudz, tad iebremzēs visu. Link to comment Share on other sites More sharing options...
v3rb0 Posted September 8, 2006 Report Share Posted September 8, 2006 saliktos indexus nepieminēja neviens vēl. ja bieži ir selects select field from table where field1=1 and field2=2 and field3=3 tad var padomāt par vienu indexu uz visiem trijiem laukiem kas pieminēti where. Link to comment Share on other sites More sharing options...
Blitz Posted September 8, 2006 Author Report Share Posted September 8, 2006 aha, ir tadas vietas kur ir vairaki where nosacijumi un pietam konstanti. Tatad saliktie indexi. Principā tas pats ir, ja visu laiku iet selekti pēc col1 col2 + colr3 kas dazreiz mainās, tad varu col1 un col2 likt vienu indexu. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 8, 2006 Report Share Posted September 8, 2006 saliktie indexi reizeem noder... Tik kaa tad iisti sanaak Mysql visu laiku paaraksta indexus pie INSERT /UPDATE ?? Skjiet Ka Oracle to nedarija, tik izdarija Parindekseeja tabulu tik kad vinjam to paluudza .. REPAIR TABLE OPTIMIZE TABLE FLUSH TABLE Vai es ko jaucu? Link to comment Share on other sites More sharing options...
litt Posted September 8, 2006 Report Share Posted September 8, 2006 Ja pareizi atceros, tad pie saliktajiem indeksiem kā pirmo vajag norādīt to kolonnu, kura visvairāk ierobežo datu atlasi Defaultā Oracle liek indeksu arī tad, ja kolonnai uzleik unique konstreintu Link to comment Share on other sites More sharing options...
Blitz Posted September 8, 2006 Author Report Share Posted September 8, 2006 kā saprast "visvairāk ierobežo"? Link to comment Share on other sites More sharing options...
litt Posted September 8, 2006 Report Share Posted September 8, 2006 Ja WHERE code1 = 'x' atlasa 100 ierakstus, bet WHERE code2 = 'y' atlasa 20 ierakstus, tad indeksā kā pirmo norāda code2 (code2, code1) Link to comment Share on other sites More sharing options...
Blitz Posted September 8, 2006 Author Report Share Posted September 8, 2006 vienkarsi tur kur vis vairak unikalo vertibu, to pirmo. skaidrs. Link to comment Share on other sites More sharing options...
bubu Posted September 8, 2006 Report Share Posted September 8, 2006 Principā tas pats ir, ja visu laiku iet selekti pēc col1 col2 + colr3 kas dazreiz mainās, tad varu col1 un col2 likt vienu indexu. Nē, te tev vajadzētu likt tikai vienu indeksu uz (col1, col2, col3). Jo MySQL māk izmantot daļu no kolonnām. Tb indekss (col1, col2, col3) izmantosies gan tad, kad selektēsi WHERE col1=x, gan WHERE col1=x AND col2=y, gan arī WHERE col1=x AND col2=y AND col3=z. Palasi taču RTFM: http://dev.mysql.com/doc/refman/5.0/en/mul...mn-indexes.html http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html utt.. Link to comment Share on other sites More sharing options...
Recommended Posts