Forum Webscript.Ru
Общие => Базы данных => Тема начата: Greg от 23 Октября 2006, 11:24:12
-
привожу запрос к mysql-базе:
CREATE TABLE table_name
(id int unsigned not null auto_increment primary key,
field text,
fulltext (field)
);
ругается: ERROR 2114 (HY000): the used table type doesn\'t support FULLTEXT indexes
в чем могет быть загогулина? вроде все делаю в точности как написано в мане.
-
в общем, покопался и разобрался вроде сам.
почему то при установке MySQL, тип таблиц по умолчанию был установлен как INNODB. однако если добавить в конец запроса строку ENGINE=MYISAM, проблема решается...
-
теперь такой вопрос возник: если в каждой строке есть искомое слово, скажем "слово", то количество результатов будет 0? как тогда выйти из положения? может есть какие нибудь параметры, которые задаются при поиске?
-
ипользовать полнотекстовый поиск IN BOOLEAN MODE. но он будет медленее.
-
а есть какие то исследования по этому поводу? хотелось бы знать насколько медленнее и в каких случаях?
-
во всех случаях медленнее :) Собственно тот же BOOLEAN search может работать вообще без fulltext индекса, он просто сканирует все данные. Но с наличием индекса он побыстрее конечно будет, хотя и медленнее чем не-BOOLEAN.
Исследования на глаза не попадались. Тестируйте сами.