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

hsasha

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

если база 1.6 гига, а нада выборку сделать типо
select Text from TABLE where Text like "%example text%";
как можно оптимизировать, а то запрос секунд 50...?
 

.des.

Поставил пиво кому надо ;-)
hsasha по теме. Искать like %% в 1.6 гиговой базе.. это не правильно. Вам надо использовать существующие решения полнотекстового поиска по тексту. для MySQL самым простым решением является full text search.
 

A-Lex[FM]

Web/Highload/DataScience
при лайковом поиске индексы юзаются,но только если искать так
... LIKE 'text%'
 

hsasha

Новичок
Сделал я фуллтекст поиск, но работать быстрее не стало:

Запрос
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 |
 

Gas

может по одной?
но работать быстрее не стало
странно, какой процент найденных результатов от общего количества записей ?

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