Вопросик такой:
БД PostgreSQL
есть таблица:
CREATE TABLE msgs
(
  msgs_id serial NOT NULL,
  forum_id int4,
  subforum_id int4,
  topic_id int4,
  body text,
  index_ bool,
  CONSTRAINT msgs_pk PRIMARY KEY (msgs_id)
) 
WITH OIDS;
=> SELECT COUNT(*) FROM msgs;
  count
---------
 4436838
(1 row)
в дальнейшем этот результат будет примерно:
4436838*100000 
ну и соответвенно имеем:
SELECT msgs_id FROM msgs WHERE body=\'HI all\';
этот запрос уже сейчас выполняеться больше 1 минуты...
банальный вопрос... как увеличить производительность запроса? ... 

Ничего лучше кроме того как создать tmpl_msgs 
CREATE TABLE tmpl_msgs 
(
  tmpl_msgs_id serial NOT NULL,
  msgs_id int4,
  forum_id int4,
  subforum_id int4,
  topic_id int4,
  body_tmpl varchar(15),
  CONSTRAINT tmpl_msgs_pk PRIMARY KEY (tmpl_msgs_id)
) 
WITH OIDS;
body_tmpl будет содержать 15 первых символов поля msgs.body.
И поиск устроить по tmpl таблице... 
я пока не придумал... 
предложения?