phpbar.de logo

Mailinglisten-Archive

AW: Namenstage in DB speichern

AW: Namenstage in DB speichern

Wolfgang Hauck wbh at euta.net
Mit Jan 8 18:05:55 CET 2003


Hi Andy,

>Hallo allerseits,

>hab eine für die meisten hier vermutlich recht triviale Frage. Ich möchte
>für einen Kalender sämtliche Namenstage in einer Tabelle abspeichern...
>dabei möchte ich die Tabelle was Performance und Speicher betrifft so weit 
>wie möglich optimieren.

>Derzeit hab ich eine Tabelle wie folgt:

>CREATE TABLE namenstage
>(
>datum date NOT NULL default '0000-00-00',
>vorname char(15) NOT NULL default '',
>PRIMARY KEY (datum,vorname)
>)
>TYPE=MyISAM;

>Dabei ist mir aufgefallen, dass ich den Jahr-Bereich des DATE Datentyps
>eigentlich garnicht bräuchte (derzeit füll ich diesen Bereich mit 2004
>auf... 2004 deshalb, weil 2004 ein Schaltjahr ist und ich somit einen 29
>Februar zur Verfügung hab).

>Deshalb wollte ich hier fragen, ob ich den DATE Datentyp noch irgendwie
>optimieren kann, sodass kein Jahr mitgespeichert wird (ich aber trotzdem
>einen 29 Februar zur Verfügung hab).

Nein. Es gibt leider keinen Datentyp Datum ohne Jahr ;-(

>Falls dies nicht geht... wäre es
>sinnvoll, anstatt des DATE Datentyps einen CHAR Datentyp zu nehmen und das 
>Datum dann eben in der  Form MMTT als String abzuspeichern oder würdet ihr 
>eher davon abraten?

Abzuraten. Die Date - Suchfunktionen sind sehr effektiv, ich würde diese 
nicht aufgeben ;-)

Du kannst ja dieses "blöde" Jahr ;-) ja gleich defaultmässig in deine Query 
einbauen, einmal geschrieben störts nimmer (in der middleware mit ner 
function oder so...). So kannst du weiterhin mit den wirklich guten (und 
schnellen) Datumsfunktionen arbeiten...

IMHO würds so lassen, auch wenns vielleicht beim direkten Betrachten a 
bisserl bläd ausschaut ;-))

Grüsse aus München

Wolfgang


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive