TEMPORARY TABLE автоудаление

Gluk

Новичок
TEMPORARY TABLE автоудаление

У меня информация сайта хранится в нескольких таблицах
Поиск по сайту работает так: создается временная таблица (CREATE TEMPORARY TABLE ) и туда вставляются результаты поиска из разных таблиц. Потом происходит выборка из временной таблицы и разбивка по страницам (SELECT * FROM temporary_table LIMIT ....)
Все эти запросы приходится делать при каждом переходе на следующую страницу.

Может можно задать время жизни временной таблицы, чтобы не делать эти запросы столько раз??? Или какие решения вам приходят в голову? UNION не подойдет, MySQL старый!!

Заранее спасибо!
 

Profic

just Profic (PHP5 BetaTeam)
забыть про слово TEMPORARY и самому их убивать по таймауту, например
 

Gluk

Новичок
так во временной таблице же результат поиска хранится! все пользователи ищут разное на сайте!
 

Profic

just Profic (PHP5 BetaTeam)
например, хранить в какой-нить табличке имя таблицы + время ее создания и при каждом заходе/по крону убивать таблицы, которые старше, чем сейчас() + таймаут

но имхо здесь как-то смахивает на неправильную структуру, но могу и ошибаться т.к. знаю где такое может понадобиться (но и там можно делать по другому :)

еще вариант - берем id-шники нужных записей и складываем их в массив, который пихаем в сессию (если она используется естественно) или еще куда :), а при выводе соответственно дергаем данные из таблиц по этим айдишникам.
 

Gluk

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