powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ограничить количество строк в таблице
15 сообщений из 15, страница 1 из 1
Ограничить количество строк в таблице
    #38858064
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется таблица в которую постоянно добавляются новые данные, но нужно сделать так, чтобы в нее добавлялось не более, к примеру, 50 записей, те записи которые самые старые при добавлении новой записи удалялись.
Можно конечно написать кучу проверок и затем по ID или дате удалять старые записи, но это кучу запросов в БД, а именно:
Проверка сколько записей в БД, затем если там 50 и более удаляем и записываем новую. Итого: 3 запроса.

Может быть есть встроенная возможность у MySQL делать подобное? Или же может есть более простой способ. Что-то я ничего не нарыл и ни к чему, по сути, не пришел.

Буду благодарен за любую помощь, друзья!
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858080
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально занести в таблицу необходимое количество записей. Ввести поле штампа времени с автоапдейтом. Вместо добавления/удаления выполнять обновление самой старой записи.
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858116
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошая идея. Спасибо.

Я полагаю, что каких-то встроенных возможностей нет!?
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858152
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можешь использовать хранимую процедуру, и в ней делать хоть 1000 запросов и оргвнизовать практически любой сложности логику
чисто внешне это будет выглядеть как один "Запрос"
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858156
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

Один запрос из PHP в БД, а само БД будет обращаться к таблице 3 раза, не так ли?
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858163
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickБД будет обращаться к таблице 3 разаСфига бы именно три? Сколько в процедуре обращений, столько и будет.
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858181
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Я о своем случае! Ну так то понятно.
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858193
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС изобретает какой-то велосипед. Сначала хотел вот чего 17136633 , а потом, похоже, решил тупо дать каждому ползателю по личной таблице. Ровно с 50 записями. Задачу описывать он явно не хочет, так что давайте просто пожелаем ему удачи в этом нелёгком деле :)
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858201
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ССЗБ? ну тады и правда, удачи ему...
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858207
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Ну нет же) Это совсем две разные задачи.

Ну да ладно, я опишу чего хочу!
Итак, у меня имеется чат, который работает динамически, сообщения не только отправляются динамически, но и подгружаются (shot-polling, в дальнейшем на сокеты посажу). И я хочу, чтобы новые добавленные сообщения подгружались не из общей таблице (где все сообщения чата), а из другой, в которой хранится не более 50 последних сообщений. И вместо того, чтобы потом осуществлять разные проверки и вытягивать новые сообщения из таблице где, может быть, миллион и более записей, скрипт будет работать с таблицей в которой, к примеру, 100-200 записей.
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858288
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickИтак, у меня имеется чат, который работает динамическиЧто значит "динамически"?
zhurchickИ вместо того, чтобы потом осуществлять разные проверки и вытягивать новые сообщения из таблицеНу и зачем ровно 50 штук там хранить? Оставляйте последние сутки/час/минуту, остальное - в общую таблицу.
zhurchickгде, может быть, миллион и более записейНе волнуйтесь, не будет там миллиона.
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858315
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Динамически - это без перезагрузки страницы.

tanglir Не волнуйтесь, не будет там миллиона.
Ага, если учитывать тот факт, что на старом чате уже более 500 тысяч
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38858321
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickДинамически - это без перезагрузки страницы.это сторона веб
скл-сервер тут вообще ни при чём

и всё-таки, откуда взялось это замечательное условие "50 последних"? не говоря уже о том, что индекс на (юзерид, таймштамп) должен решить эту задачу без танцев с бубномдополнительной таблицей?
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38860139
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchicktanglir,

Ну нет же) Это совсем две разные задачи.

Ну да ладно, я опишу чего хочу!
Итак, у меня имеется чат, который работает динамически, сообщения не только отправляются динамически, но и подгружаются (shot-polling, в дальнейшем на сокеты посажу). И я хочу, чтобы новые добавленные сообщения подгружались не из общей таблице (где все сообщения чата), а из другой, в которой хранится не более 50 последних сообщений. И вместо того, чтобы потом осуществлять разные проверки и вытягивать новые сообщения из таблице где, может быть, миллион и более записей, скрипт будет работать с таблицей в которой, к примеру, 100-200 записей.

cron который будет раз в n минут грохать все записи в таблице старше чем n минут, но оставляя не меннее M записей.
...
Рейтинг: 0 / 0
Ограничить количество строк в таблице
    #38860171
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickвадя,

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


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