Mailinglisten-Archive |
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