• 4 odgovora
  • 1.806 pregleda
Timestamp vs Datetime 11.06.2012. u 13:28 · pre 174 meseci #1
Ovako,

u tabeli mi treba polje u koje ću upisati datum i vrijeme.
Tabela će biti particionisana po tom polju, i sve pretrage će uključivati neki vremenski opseg (...BETWEEN CURDATE()-INTERVAL 5 DAY AND CURDATE()... ili slično).
Nije mi bitan prostor koji zauzimaju (koliko znam DATETIME - 8bytes, TIMESTAMP - 4bytes), već mi je bitna brzina pretrage.

Da li neko ima iskustvo sa sličnim?

Pozdrav!
Re: Timestamp vs Datetime 11.06.2012. u 18:57 · pre 174 meseci #4
Code:
taj range query je uvek spor :(

Da li pod ovim mislis na upit koji sam napisao (sa between....), ili na DATETIME i TIMESTAMP kao polje za pretrazivanje?

U tabeli imam i polje "Korisnik, SMALLINT" koje je indeksirano, i pretraga obicno ide po ova dva polja.
Code:
SELECT bla, bla, bla FROM tabela WHERE Ftime BETWEEN '2012-01-01 12:00:00' AND '2012-01-02 12:00:00' AND Korisnik=12345;


Moze li se ovo optimizovati sa strane upita? Da li bi pomoglo da razdvojim DATE i TIME u dvije kolone?
Re: Timestamp vs Datetime 12.06.2012. u 02:38 · pre 174 meseci #5
ma sporo pa sporo :( nema tu mnogo pomoci .. za taj upit bi ti najkorisnije bilo ako imas index (`Korisnik`, `Ftime`) ... sto je key manji nalazi se u manje stranica pa je index scan brzi .. zato kazem ako ti ne treba vreme bolje da ga izbacis, ako ti treba vreme ostavi ga (sporije je sa dva atributa nego sa jednim!).

najveci problem tu je kako mysql ume da koristi indexe i kako radi range scan
iscitaj obavezno: http://dev.mysql.com/doc/refman/5.5/en/range-optimization.html da ja sada ne prepricavam :)
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme