Оптимизация выборки

  • Автор темы Автор темы hsasha
  • Дата начала Дата начала

hsasha

Новичок
Оптимизация выборки

если база 1.6 гига, а нада выборку сделать типо
select Text from TABLE where Text like "%example text%";
как можно оптимизировать, а то запрос секунд 50...?
 
hsasha по теме. Искать like %% в 1.6 гиговой базе.. это не правильно. Вам надо использовать существующие решения полнотекстового поиска по тексту. для MySQL самым простым решением является full text search.
 
при лайковом поиске индексы юзаются,но только если искать так
... LIKE 'text%'
 
Сделал я фуллтекст поиск, но работать быстрее не стало:

Запрос
PHP:
SELECT Title FROM Titles  WHERE MATCH (Title,Text) AGAINST ('internet marketing');

Табле
PHP:
CREATE TABLE `Titles` (
  `ID` int(11) unsigned NOT NULL auto_increment,
  `CategoryID` int(11) NOT NULL,
  `Title` varchar(255) NOT NULL,
  `Sdesc` text NOT NULL,
  `Text` text NOT NULL,
  `URL` varchar(255) NOT NULL,
  `AutorID` int(11) NOT NULL,
  `AutorDescription` text NOT NULL,
  PRIMARY KEY  (`ID`),
  KEY `titles_k_1` (`CategoryID`),
  FULLTEXT KEY `Title` (`Title`,`Text`)
) ENGINE=MyISAM AUTO_INCREMENT=419997 DEFAULT CHARSET=latin1 |
 
но работать быстрее не стало
странно, какой процент найденных результатов от общего количества записей ?

или попробовать сторонние решения, например, sphinx
 
Сверху