DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   Optimizacija baze - da li odvajati u novu tabelu? (http://www.devprotalk.com/showthread.php?t=9454)

bluesman 14. 12. 2010. 17:06

Opšte rešenje je da se sedne pre nego što se počne pa se odluči šta će da bude normalizovano a šta denormalizovano ... pa se menja usput samo ako vidiš da postoji bolje rešenje a ne da počneš sa nečim što znaš da ćeš menjati "kada nastane potreba" ;)

Dejan Topalovic 12. 01. 2011. 23:27

Pozdrav svima nakon duzeg vremena :)

@Igor: koliko sam shvatio tvoje potrebe, ti jos nemas tacno definisan koncept tvoje aplikacije - dakle moras koristiti agilne metode pri razvoju te aplikacije, sto samo po sebi iskljucuje donosenje odluke o konacnom izgledu/dizajnu/strukturi aplikacije i baze.
Kao sto rece neko (misk0 cini mi se) - ne postoji "silver bullet" rjesenje, nego ces morati zagrijati stolicu, te metodom "trial & error" (odnosno "generate & test" iliti "guess & check") doci do najoptimalnijeg rjesenja.

Evo ti par usputnih savjeta onako iz rukava:
- gledaj da ti broj tabela ne predje broj korisnika ;) , znaci tabele kreiraj svrsishodno i ne razbacuj se
- rasporedi tabele u vise grupa i imenuj ih sa odgovarajucim prefixom (chat_*, user_*, i td.), radi lakseg pregleda
- ako mozes, koristi particije - npr. particioniras tabelu sa korisnicima po pocetnom slovu imena/prezimena ili po godini rodjenja; particioniras tabelu sa chat porukama po datumu (Oracle ima i mogucnost kompozitnog particionisanja, pa mozes prvo particionisati po datumu i onda subparticionisati po korisnickom ID-u, tj. "Range-Hash composite partitioning" ili drugacije, zavisi o konceptu tvoje aplikacije); ne znam kakvo je stanje sa MySQL-om po pitanju particionisanja, jer sam totalno zapostavio MySQL zadnjih godina :(
- koristi indexe kada ti je "selectivity" za zadane kolone veoma visok
- koristi full table scan, kada imas neku batch job operaciju, koja obradjuje veliki broj redova u zadanim tabelama
- koristi uskladistene procedure
itd.

Eto nabrzaka nesto, cisto da se vratim u forumsku formu. ;)


Vreme je GMT +2. Trenutno vreme je 05:06.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.