On Wed, Aug 21, 2002 at 11:57:53PM -0500, Brian Moon wrote:
> I have a table:
> 
> CREATE TABLE `single_table` (
>   `forum_id` int(10) unsigned NOT NULL default '0',
>   `id` int(10) unsigned NOT NULL auto_increment,
>   `datestamp` datetime NOT NULL default '0000-00-00 00:00:00',
>   `thread` int(10) unsigned NOT NULL default '0',
>   `parent` int(10) unsigned NOT NULL default '0',
>   `author` varchar(37) NOT NULL default '',
>   `subject` varchar(255) NOT NULL default '',
>   `email` varchar(200) NOT NULL default '',
>   `attachment` varchar(64) NOT NULL default '',
>   `host` varchar(50) NOT NULL default '',
>   `email_reply` char(1) NOT NULL default 'N',
>   `approved` char(1) NOT NULL default 'N',
>   `msgid` varchar(100) NOT NULL default '',
>   `viewcount` int(11) NOT NULL default '0',
>   `modifystamp` int(10) unsigned NOT NULL default '0',
>   `userid` int(10) unsigned NOT NULL default '0',
>   `body` text NOT NULL,
>   PRIMARY KEY  (`id`),
>   KEY `forum_id_3` (`forum_id`,`thread`,`modifystamp`,`approved`),
>   KEY `approved` (`approved`,`datestamp`),
>   KEY `parent` (`parent`),
>   FULLTEXT KEY `body` (`body`,`author`,`subject`)
> ) TYPE=MyISAM
> 
> 
> If I run a query like:
> 
> select id from single_table where forum_id=5818 and parent=0 order by
> modifystamp desc
> 
> It runs really slow (a minute) and explain says it is using filesort.
> 
> However this query:
> 
> select id from single_table where forum_id=5818 and parent=0 order by thread
> desc
> 
> runs in .2 seconds and does not use a filesort.  Is MySQL using the first
> part of forum_id_3 key for this query?  Do I need to create a forum_id,
> parent, modifystamp key?

That should do the trick, yes.

Jeremy
-- 
Jeremy D. Zawodny     |  Perl, Web, MySQL, Linux Magazine, Yahoo!
<[EMAIL PROTECTED]>  |  http://jeremy.zawodny.com/

MySQL 3.23.51: up 15 days, processed 323,657,916 queries (235/sec. avg)

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to