Rastislav Siekel wrote:
Len tak na okraj - koľko tých dát tam chcete prehľadávať? Pretože v jednej
staršej aplikácii bežiacej nad staručkým Informix 7 je dnes v jednej tabuľke
22 318 700 riadkov a pracuje to stále celkom svižne (subjektívne). Žiadny
partitioning použitý nie je, ale je tam vytvorený index na dátum (nie
datetime), takže vždy sa sekvenčne prehľadáva len množina záznamov z jedného
dňa (v najhoršom prípade). Partitioning si predstavujem vhodný tak pre
stovky miliónov riadkov a viac.
Partitioning je dulezity pokud mate malou selektivitu indexu. Jeden den
ji ma dobrou (pokud ty data jsou za 5 let tak je tam 12 000 radku denne).
Ja jsem psal o tom, ze jsem mel v databazi verze replik. Tj. podle
jednoho zaznamu z indexu "id repliky" jsem dostal zase miliony zaznamu.
A vzdy jsem mel dotaz s pevnym "id repliky". Takze stacilo mit indexy
vzdy nad casti dat v tabulce a na mene sloupcu.
Rychlost mazani cele jedne partition se zmenila z desitek minut na
desitky vterin. Zrychleni dotazu bylo take nekolikanasobne. Pri
milionech zaznamu je kazdy bit v indexu poznat.
Doporucuji si nastudovat zakladni principy fungovani databazi.