CREATE TABLE eventlog ( id bigint(20) NOT NULL auto_increment, smsc enum('unknown','NG1','NG2','NG3') NOT NULL default 'unknown', type tinyint(4) NOT NULL default '0', si tinyint(4) NOT NULL default '0', error_code int(10) NOT NULL default '0', origin char(20) NOT NULL default '', destination char(20) NOT NULL default '', odestination char(20) NOT NULL default '', ml int(10) unsigned default NULL, ts_log datetime NOT NULL, ts_ost datetime NOT NULL, ts_ast datetime NOT NULL, ts_delivery datetime NOT NULL, ts_ndt datetime NOT NULL, da int(10) unsigned default '0', imsi_orig bigint(20) unsigned default '0', imsi_dest bigint(20) unsigned default '0', billid int(10) unsigned default '0', PRIMARY KEY (id,ts_ast) ,KEY ts_log (ts_log) ,KEY ts_ost (ts_ost) ,KEY ts_ast (ts_ast) ,KEY origin (origin) ,KEY destination (destination) ,KEY odestination (odestination) ) TYPE=MyISAM PARTITION BY RANGE (to_days(ts_ast)) ( PARTITION p20070101 VALUES LESS THAN (to_days('2007-01-02')) ,PARTITION p20070102 VALUES LESS THAN (to_days('2007-01-03')) ,PARTITION p20070103 VALUES LESS THAN (to_days('2007-01-04')) ,PARTITION p20070104 VALUES LESS THAN (to_days('2007-01-05')) );