Проблем с търсенето

3 отговора 205 прегледа
#1

Проблем с търсенето

Здравейте!
По-надолу имаше тема за подобен проблем, на моя но не точно същия.

Имам елементарна заявка към една таблица (InnoDB) - търся в едно поле тип TEXT.
Когато полето е тип TEXT търсенето е много бавно 4,45 sсек. Ако го направя VARCHAR търсенето става много бързо 0,23 сек.
На какво може да се дълйи това и какво мога да направя- защото VARCHAR типа не е достатъчен за повечето от данните в това поле, а с TEXT е прекалено бавно

Заявката е от типа
select field,.. from table where text_field like '%word%'

Отговор
в отговор на пeтъp #2

Re: Проблем с търсенето

CREATE INDEX "MY_TEXTINDEX" ON "TABLE"("TEXT_FIELD");


Цената е увеличаване на времето за INSERT,EDIT & DELETE.

Отговор
в отговор на EFEX #3

няма смисъл

За заявки от типа LIKE '%word%' индексът няма да бъде използван така или иначе.

Everything louder than everything else...
Отговор
в отговор на EFEX #4

Re: Проблем с търсенето

То търсенето може да стане с MATCH AGAINST , но InnoDB таблиците не поддържат пълнотекстови индекси

Отговор