As first step, try to optimize table with help of
OPTIMIZE TABLE MyTable
command.

Any progress?

Best regards,
Mikhail.

----- Original Message -----
From: "David BORDAS" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, August 27, 2002 12:34 PM
Subject: Slow select query, need some clues to speed it up please ...


> Hi all,
>
> I've discovered that we have a select query that blocked all others query
to
> this table.
>
> 99% of query used indexs, no join ...
> But this one is a problem :
> SELECT Field1,Field2,Field3,Field4,Field5,Field6,Field7  FROM MyTable
WHERE
> Field7=15 AND Field2=0 AND (Field3 LIKE '%John%' OR Field4 LIKE '%John%'
OR
> Field5 LIKE '%John') ORDER BY Field6 LIMIT 0,20;
>
> I know that  '(Field3 LIKE '%John%' OR Field4 LIKE '%John%' OR Field5 LIKE
> '%John')' part is the problem.
>
> Table desc :
> CREATE TABLE MyTable (
>     Field1 int(10) unsigned NOT NULL auto_increment,
>     Field2 int(10) unsigned NOT NULL default '0',
>     Field3 varchar(50) NOT NULL default '',
>     Field4 varchar(50) NOT NULL default '',
>     Field5 text NOT NULL,
>     Field6  bigint(20) NOT NULL default '0',
>     Field7  int(10) unsigned NOT NULL default '0',
>     PRIMARY KEY  (Field1),
>     KEY ReplyTo_Numero (Field2,Field1),
>     KEY indexF (Field7,Field2,Field6)
> ) TYPE=MyISAM PACK_KEYS=1;
>
> select count(*) from MyTabe ;
> 4381036
>
> Table is growing about 10 000 record a day ...
>
> So, what can i do to have better performance ?
> Create a big index for Field3,Field4, Field5 ?
>
> Not a very good idea i think because it'll be a very very big index and
> Field 3-5 are varchar or text ...
> But why not ...
>
> Perhaps doing 3 select, one with Field3, one with Field4 and the other
with
> Field5 and then doing some code in the app for joining the 3 select
results.
>
> Or did i miss something in the select syntax that can help me ?
>
> Thanks
> David
>
>
> ---------------------------------------------------------------------
> 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
>


---------------------------------------------------------------------
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