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

  • Автор темы Автор темы Gluk
  • Дата начала Дата начала

Gluk

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

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

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

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

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

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