Показать сообщение отдельно
Старый 29.10.2002, 02:53
Wave вне форума Посмотреть профиль Отправить личное сообщение для Wave Посетить домашнюю страницу Wave Найти все сообщения от Wave
  № 9  
Wave
еретик

Регистрация: Jan 2001
Адрес: Харьков, Украина
Сообщений: 919
все дело в том, что при поиске в поле с типом TEXT пришлось бы использовать LIKE, кроме того в старых версиях mysql TEXT не инедксируется на уровне субд, что еше более тормозит работу

в случае с индексированием используются две таблицы

Код:
CREATE TABLE word (
  wordid int(10) unsigned NOT NULL auto_increment,
  title char(50) NOT NULL default '',
  PRIMARY KEY  (wordid),
  UNIQUE KEY title (title)
) TYPE=MyISAM;


CREATE TABLE searchindex (
  wordid int(10) unsigned NOT NULL default '0',
  postid int(10) unsigned NOT NULL default '0',
  intitle smallint(5) unsigned NOT NULL default '0',
  UNIQUE KEY wordid (wordid,postid)
);
сначала происходит поиск по таблице word откуда выбираются соответствующие ключевые слова, после чего из таблицы searchindex выбираются id сообщений, в которых эти слова присутствуют. получается реально быстрее
__________________
These unidentyfied flying objects, that appeared to display unique characteristics, such as the speed, the record maneuverity and so on, must be studied in the interest of mankind