OT: Optimalizace selectu v MySQL
RV
vicek.radek@cpost.cz
Úterý Červen 26 09:12:56 CEST 2007
K bodu 1)
to je tezko rict a prestoze jsem hledal jak je prezentovany tento datovy
typ nikam jsem se moc nedostal - tedy hledal jsem spis jak by mel dotaz
na datetime vypadat a vsichni mu posilaji normalni datum v odpovidajicim
zapisu
k bodu 2)
obavam se, ze nemate pravdu - pracuji tedy s Sybase, ale vzhledem k
tomu, ze se tyhle produkty oddelily teprve pred 11 lety neverim, ze by
doslo k nejakemu vyraznemu odklonu a zmene technologie - PK je index
pouzitelny jako ostatni indexy - rozdil je jen v tom, ze zaznamy tabulky
jsou FYZICKY setridene prave podle PK (to je duvod proc nemuze byt vice
PK - spis ne duvod, ale dusledek) - z toho vyplyva nekolik dusledku -
treba to, ze pokud dochazi k zapisum do tabulky nahodne zvysuje se rezie
cele DB nebot rekordy jsou organizovane do zretezenych stranek, ktere
maji vynechane nejake volne misto (prave proto aby se nemuselo pri
kazdem zapisu rozpojovat retezce) urcene tzv. fill faktorem - pokud
misto ve strance dojde vytvori se struktura dalsi stranky a pointry na
konci a na zacatku dvou stranek se musi upravit na nove vzniklou stranku
- to ale ma za nasledek velke naroky na cas a diskove operace. Proto se
voli PK vetsinou tak aby se zapisy pripisovali na konec tabulky - to je
ostatne i muj pripad - jde o prirozene vznikajici zaznamy na casove ose
takze neexistuje zapis jinam nez na konec tabulky
Prinesl jsme si dump DB z domova a za chvili jej naleju na nase
testovaci servery tak hned uvidim co z toho poleze. Take uvidim zda ma
smysl uvazovat o vymene HW na serveru.
--------------------------------------
pro p.Bezstarosti(ho?) :-)
samozrejme existuji odborna fora, ale posledni dobou jsem trochu
vystrizlivel z toho co se na nich da dozvedet - byl jsem registrovan asi
na trech a postupne jsem vsechny opustil - tady mam alespon jistotu, ze
vetsinu lidi znam z jejich prispevku a funguje tady jista vzajemnost
cehoz vyuzivaji vsichni clenove tohoto fora - sice se tady obcas
probiraji lednicky, sporaky a ja nevim co jeste, ale tohle cas od casu
zajima kazdeho - rozhodne radeji vydim zive forum, ktere obcas uhne od
ciste HW zalezitosti, ale ma hlavu a patu
Radek Vicek
Marek Sembol napsal(a):
> Vystrely od boku (hned 2 :-D ):
> 1) Neni v MySQL nejaka funkce na prekonvertovani toho retezce na datetime?
> Mam takovou neblahou obavu, ze si to mozna vazeny pan MySQL dela
> opacne - prevadi tedy datetime na stringy a ty pak porovnava... Coz by
> asi pouziti indexu mohlo docela nabourat.
> 2) [Cerpano z MS SQL, ale neni duvod aby to tady bylo moc jinak]
> Matne lovim v pameti, ze primarni klic neni zrovna vhodny pro pro
> vybirani dat. On tam je snad nejaky problem v tom, ze PK neni ukladany
> zvlast a pro vyber dle primarniho klice se tedy ctou cele rekordy
>
> Marek
>
Další informace o konferenci Hw-list