Certainly datetime is the way to go.  It takes up 8 bytes per row, as
opposed to 4 bytes for int.  But, even if there are 10 million rows
(over 27 years of data), that’s only a 4 MB difference.

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, July 10, 2003 5:13 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Can mysql handle this load?
> 
> 
> why use INT for a date?
> i am used to do this with my bulletin board, since i need a 
> 1-second resolution and so i can easily use the time() 
> function in php and format the output string with date(), 
> which is also using unix timestamps.
> but for applications that only need a resolution of 1 day, 
> something like DATE would be better, i think. for client 
> side, it's more processing to get the date displayed and to 
> do some arithmetics with it (calculate time spans etc.), right?
> 
> correct me if i'm wrong, since i had some chaotic encounters 
> with DATE and TIMESTAMP values at the beginning of my 'mysql 
> time', and i'm using INT unix timestamps since then...
> 
> -yves
> 
> 
> -----Ursprüngliche Nachricht----- 
> Von: "Rudy Metzger" <[EMAIL PROTECTED]>
> An: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; "Adam 
> Gerson" <[EMAIL PROTECTED]>
> Cc: <[EMAIL PROTECTED]>
> Gesendet: Mittwoch, 9. Juli 2003 17:19
> Betreff: RE: Can mysql handle this load?
> 
> 
> Why using int for date? Better suited would be DATE or 
> DATETIME (or even TIMESTAMP, depending how you want to use it).
> For studentid, SMALLINT or MEDIUMINT would maybe suffice, esp 
> when you make them UNSIGNED.
> For status I would choose CHAR(1), you can put a lot of 
> information into that, which also stays (a bit) human 
> readable. Also enums would be ok but are a mess to change 
> later (in the application). Do yourself a favor and use a 
> master detail relation for this, eg:
> 
> CREATE TABLE student_status (
>   Status CHAR(1) NOT NULL,            /* short status flag, eg. A */
>   Verbose VARCHAR(20) NOT NULL,       /* verbose description, 
> e.g. ABSENT */
> PRIMARY KEY(status)
> )
> 
> Maybe keep 'verbose' on char to force fixed line size and 
> thus faster access.
> 
> Cheers
> /rudy
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: woensdag 9 juli 2003 16:42
> To: [EMAIL PROTECTED]; Adam Gerson
> Cc: [EMAIL PROTECTED]
> Subject: Re: Can mysql handle this load?
> 
> i think this should be no problem...
> 
> i'd think of some table layout like this:
> date         int      PRIMARY
> student_id   int      PRIMARY
> status       int
> extra_data   what-you-want
> 
> then you should get about 360,000 records per year.
> i saw people on this list reporting about millions of records 
> etc... and i guess they had a little greater tables than you 
> should get here.
> 
> but why would you want to move any previous records to 
> another table all the time? just keep it in one table and 
> back up anything older than 5 years or so. that keeps your 
> table at, say 50 MB, and you can run real-time queries anytime :)
> 
> -yves
> 
> 


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to