Есть таблица
CREATE TABLE IF NOT EXISTS `jb_board` (
`id` int(7) NOT NULL auto_increment,
`id_category` smallint(3) NOT NULL,
`user_id` int(6) NOT NULL default '0',
`type` enum('s','p','u','o','a','v','r','m') default 'p',
`autor` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
`email` varchar(30) NOT NULL,
`subscribe` enum('yes','no') character set cp1251 NOT NULL default 'yes',
`city` varchar(50) NOT NULL,
`city_id` smallint(6) NOT NULL,
`url` varchar(255) NOT NULL,
`click` smallint(6) NOT NULL default '0',
`contacts` text NOT NULL,
`text` text NOT NULL,
`price` int(11) NOT NULL default '1',
`price_val` text NOT NULL,
`video` varchar(128) NOT NULL,
`hits` int(11) NOT NULL default '0',
`old_mess` enum('new','old') NOT NULL default 'new',
`checked` enum('yes','no','edit','del') NOT NULL default 'no',
`checkbox_top` smallint(1) NOT NULL default '0',
`top_time` datetime NOT NULL default '0000-00-00 00:00:00',
`send_notice_vip_sms` smallint(1) NOT NULL default '0',
`checkbox_select` smallint(1) NOT NULL default '0',
`select_time` datetime NOT NULL default '0000-00-00 00:00:00',
`send_notice_select_sms` smallint(1) NOT NULL default '0',
`tags` varchar(255) NOT NULL,
`send_notice_day` smallint(1) NOT NULL default '0',
`time_delete` smallint(6) NOT NULL default '30',
`date_add` datetime NOT NULL,
`ip` text NOT NULL,
`gmaps` varchar(255) NOT NULL,
`cat_fields` text NOT NULL,
PRIMARY KEY (`id`),
KEY `id_category` (`id_category`,`type`,`city_id`,`old_mess`),
KEY `checkbox_top` (`checkbox_top`,`checkbox_select`),
KEY `top_time` (`top_time`),
KEY `date_add` (`date_add`),
KEY `autor` (`autor`),
KEY `title` (`title`),
KEY `user_id` (`user_id`),
KEY `tags` (`tags`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 CHECKSUM=1 AUTO_INCREMENT=706608 ;
с поля tags нужно выбрать записи где есть слово например: город
поле tags состоит из пяти слов, пример: слово, слово, город, слово, слово
делаю так
SELECT jb_board.id AS board_id, DATE_FORMAT(jb_board.date_add,'%d.%m.%Y') AS dateAdd,
jb_board.id_category, jb_board.title, jb_board.text, jb_board.price, jb_board.price_val, jb_board.city, jb_board.checkbox_select
FROM jb_board
WHERE old_mess = 'old' AND jb_board.tags LIKE '%".город."%' ".$GLOBALS['subQuery']."
ORDER by jb_board.checkbox_select DESC, date_add DESC
LIMIT 0, 20
но такая выборка работает очень долго, пробовал так
SELECT jb_board.id AS board_id, DATE_FORMAT(jb_board.date_add,'%d.%m.%Y') AS dateAdd,
jb_board.id_category, jb_board.title, jb_board.text, jb_board.price, jb_board.price_val, jb_board.city, jb_board.checkbox_select
FROM jb_board
WHERE old_mess = 'old' AND jb_board.tags LIKE '".город."%' ".$GLOBALS['subQuery']."
ORDER by jb_board.checkbox_select DESC, date_add DESC
LIMIT 0, 20
но так находит не все записи, как можно ускорить и при этом не терять кол-во?