powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Правильная организация хранения временных данных
4 сообщений из 4, страница 1 из 1
Правильная организация хранения временных данных
    #38681242
Random2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На сайте есть поиск, результаты которого решил заносить во временную таблицу. Пока юзер на сайте был один, этого было достаточно - перед каждым поиском очищал временную таблицу (TRUNCATE), обнуляя счетчики и т.д.
Теперь изменил структуру, добавив поле USER_ID и каждый результат принадлежит теперь конкретному пользователю. Но возник такой момент. Каждый поиск занимает 500-1000 строк в таблице. Так даже если перед поиском из таблицы будут удаляться строки текущего юзера, рано или поздно Primary-счетчик достигнет предела, да и дело даже в другом - помоему это несовсем корректный подход.

Вопрос - как в таком случае правильно организовать хранение данных в этой временной таблице?

Пока на ум приходит только одна идея - добавить еще одно поле - дата поиска и перед поиском, если самая свежая запись старше 24 часов - делать TRUNCATE таблицы. Но если записей будет скажем 10000, то это уже может сказаться на времени выполнения, ведь чтобы узнать самую свежую запись, серверу нужно будет перебрать их все, что может занять немало времени. Вобщем, подскажите, кто какой выход находил в подобных ситуациях.
...
Рейтинг: 0 / 0
Правильная организация хранения временных данных
    #38681270
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Random2рано или поздно Primary-счетчик достигнет предела 2634152
Random2Но если записей будет скажем 10000, то это уже может сказаться на времени выполнения, ведь чтобы узнать самую свежую запись, серверу нужно будет перебрать их всеuse the Forceindexes, Luke!
Хотя для 10к записей и индекс-то навряд ли нужен
...
Рейтинг: 0 / 0
Правильная организация хранения временных данных
    #38681280
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Random2На сайте есть поиск, результаты которого решил заносить во временную таблицу. Пока юзер на сайте был один, этого было достаточно - перед каждым поиском очищал временную таблицу (TRUNCATE), обнуляя счетчики и т.д.
Теперь изменил структуру, добавив поле USER_ID и каждый результат принадлежит теперь конкретному пользователю. Но возник такой момент. Каждый поиск занимает 500-1000 строк в таблице. Так даже если перед поиском из таблицы будут удаляться строки текущего юзера, рано или поздно Primary-счетчик достигнет предела, да и дело даже в другом - помоему это несовсем корректный подход.

Вопрос - как в таком случае правильно организовать хранение данных в этой временной таблице?

Пока на ум приходит только одна идея - добавить еще одно поле - дата поиска и перед поиском, если самая свежая запись старше 24 часов - делать TRUNCATE таблицы. Но если записей будет скажем 10000, то это уже может сказаться на времени выполнения, ведь чтобы узнать самую свежую запись, серверу нужно будет перебрать их все, что может занять немало времени. Вобщем, подскажите, кто какой выход находил в подобных ситуациях.

да не совсем верно.

наводящий вопрос - зачем результат поиска хранить в базе данных???
храни его сразу на клиенте базы данных.
...
Рейтинг: 0 / 0
Правильная организация хранения временных данных
    #38684644
Random2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.

По поводу наводящих вопросов:
> зачем результат поиска хранить в базе данных???
Это связано со спецификой работы веб-приложения. Если попытаться объяснить вкратце, то есть 3 типа поиска и каждый из них пользователь может выполнять когда ему захочется. Приложение должно отображать и работать с любым из этих типов. Раньше никогда не разрабатывал такого функционала и БД к нему, поэтому решил сделать таким способом. А правильно или нет решил уточнить здесь, у знающих людей. Этот способ показался мне наиболее приемлемым, тем более что где-то когда-то встречал такие советы.

> храни его сразу на клиенте базы данных.
Несовсем понял, что имеется ввиду под "клиентом базы данных"?


tanglir, т.е. такой подход к хранению результатов поиска, как я описал вполне приемлем и используется при разработке различных приложений (когда можно результаты хранить в таблице БД).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Правильная организация хранения временных данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]