DBVS konfuzas (MySQL)
Situacija - labai nedidelė lentutė (guest-book-style). Datos stulpelis - datetime (default: 0000-00-00 00:00:00). Parenkant datą (formatas: 0000-00-00) (na tai nėra svarbiausias dalykas) ji vaidina labai didelį vaidmenį.
Konkrečiau:
SELECT ..., SUBSTRING(tbl.data FROM 1 FOR 10) FROM tbl... blah blah blah...
Suveikė per 0.0004 sekundės, o naudojant neitiv MySQL datos f-jas viskas vyko taip:
SELECT ..., DATE_FORMAT(tbl.data, '%Y-%m-%d') FROM tbl... blah blah blah...
Atlikta per 0.0054 sekundės. Norėčiau atkreipti dėmesį, kad šitame parinkime dalyvauja ir bent 2 lentelių sujungimai (a.k.a. /LEFT|RIGHT|OUTER/ JOIN).
Gal kas nors turite komentarų?
Comments
huh, pirm kart pamačiau tokią sintaksę:
SUBSTRING(tbl.data FROM 1 FOR 10)
net ėjau manualo pavartyt ")
o kokių tu komentarų lauki?
kad substringas greičiau už stringo parsinimą?
;]
Posted by: pkmk | februari 8, 2005 10:00 FM
nuu, o 4.1.1 yra DATE funkcija:)
Posted by: Loading | februari 8, 2005 10:28 FM
pkmk - šiaip kažkaip keista, kad datos laukeliui greičiau veikia ne datos, bet stringų f-jos.
Posted by: enc | februari 8, 2005 12:28 EM