|
|
|
| Народ, помогите плз!
Есть база данных с таблицами типа id, band, song, text где
band - Имя группы
song - Название песни
text - Текст песни
Нужно осуществить поиск по band и song такого типа:
SELECT * FROM `base` WHERE 1 AND `band` LIKE '%$query%'
UNION
SELECT * FROM `base` WHERE 1 AND `song` LIKE '%$query%'
|
Дело в том что данных в таблице немеренно и запрос выполняеться очень долго.
Пробовал индексировать, но на LIKE это не распространяеться (или я чего-то не понял)
Что делают в данном случае??? | |
|
|
|
|
|
|
|
|
для: Евгений Петров
(02.09.2006 в 20:05)
| | Я так понимаю таблица должна быть MyISAM, чтоб она поддерживала FULLTEXT?
Хотя и так она у меня не поддерживает FULLTEXT
Может, кто структуру таблицы написать? | |
|
|
|
|
|
|
|
для: SoloNifer
(02.09.2006 в 20:27)
| | Да, следует использовать таблицу MyISAM. Таблица может выглядеть например так
CREATE TABLE `posts` (
`id_post` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
`url` tinytext NOT NULL,
`putfile` tinytext NOT NULL,
`author` tinytext NOT NULL,
`id_author` int(6) NOT NULL default '0',
`hide` enum('show','hide','lock') NOT NULL default 'show',
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`parent_post` int(11) NOT NULL default '0',
`id_theme` int(11) NOT NULL default '0',
PRIMARY KEY (`id_post`),
FULLTEXT KEY `search` (`name`,`author`)
) TYPE=MyISAM AUTO_INCREMENT=132055 ;
|
В чём у вас выражается не поддержка индекса FULLTEXT? | |
|
|
|