如何优化此查询
Query:
SQL code
Relevant tables:
SQL code
SQL code
SELECT DISTINCT n.id FROM blog_news n WHERE n.active = '1' AND trim(n.title) != '' AND (EXISTS (SELECT 1 FROM blog_pics p WHERE p.blogid = n.id AND p.islogo = 0) OR EXISTS (SELECT 1 FROM blog_vdos v WHERE v.blogid = n.id) ) ORDER BY n.newsdate desc, n.createdate desc limit 0,5;
Relevant tables:
SQL code
CREATE TABLE IF NOT EXISTS `blog_news` ( `id` int(11) NOT NULL auto_increment, `createdate` datetime NOT NULL default '0000-00-00 00:00:00', `title` text collate utf8_bin NOT NULL, `newsdate` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(4) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE IF NOT EXISTS `blog_pics` ( `id` int(11) NOT NULL auto_increment, `blogid` int(11) NOT NULL default '0', `islogo` tinyint(4) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE IF NOT EXISTS `blog_vdos` ( `id` int(11) NOT NULL auto_increment, `blogid` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
作者: zcy_dr 发布时间: 2011-05-11
blog_pics.blogid
blog_vdos.blogid
这两个加索引
blog_vdos.blogid
这两个加索引
作者: rucypli 发布时间: 2011-05-11