rendered paste bodytable:
CREATE TABLE `BlogPost` (
`blogPostId` bigint(20) NOT NULL auto_increment,
`blogId` bigint(20) NOT NULL,
`title` varchar(256) default NULL,
`link` varchar(512) NOT NULL,
`publishedDate` datetime default NULL,
`technotags` varchar(512) default NULL,
`metawords` varchar(512) default NULL,
`author` varchar(256) default NULL,
`wordcount` int(11) default NULL,
`mediaProviderId` int(11) default '1',
`content` text,
`rawContent` text,
`postStatusId` int(11) NOT NULL default '0',
PRIMARY KEY (`blogPostId`),
UNIQUE KEY `UQ_BlogPost_1` (`link`),
UNIQUE KEY `UQ_BlogPost_2` (`title`,`blogId`),
KEY `blogId` (`blogId`),
KEY `IX_BlogPost_1` (`link`),
KEY `IX_BlogPost_2` (`blogPostId`),
KEY `FKDC69FF8259EE4D86` (`blogId`),
KEY `blogId_2` (`blogId`),
KEY `FKDC69FF82E23E9DDE` (`mediaProviderId`),
KEY `postStatusId` (`postStatusId`),
KEY `publishedDate` (`publishedDate`),
KEY `postStatusId_2` (`postStatusId`,`publishedDate`),
CONSTRAINT `FKDC69FF8259EE4D86` FOREIGN KEY (`blogId`) REFERENCES `Blog` (`blogId`),
CONSTRAINT `FKDC69FF82E23E9DDE` FOREIGN KEY (`mediaProviderId`) REFERENCES `MediaProvider` (`mediaProviderId`),
CONSTRAINT `FK_BlogPost_1` FOREIGN KEY (`blogId`) REFERENCES `Blog` (`blogId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
explain:
mysql> explain select * from BlogPost bp where bp.publishedDate > (NOW() - interval(24) HOUR) and bp.postStatusId=0 ;
+----+-------------+-------+------+-------------------------------------------+----------------+---------+-------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+-------------------------------------------+----------------+---------+-------+--------+-------------+
| 1 | SIMPLE | bp | ref | postStatusId,publishedDate,postStatusId_2 | postStatusId_2 | 4 | const | 216005 | Using where |
+----+-------------+-------+------+-------------------------------------------+----------------+---------+-------+--------+-------------+
1 row in set (0.00 sec)