powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / My SQL нормальная форма
39 сообщений из 39, показаны все 2 страниц
My SQL нормальная форма
    #38562230
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача создать чат между юзерами. My SQL.
Создаю 2 таблицы messages , users .
users : Список юзеров
messages : Сообщения между юзерами.

Выходит что таблица messages в случае большой нагрузки будет ОГРОМНОЙ (все сообщения между юзерами будут в ней)
Я чувствую что в структуре ошибка! Может есть решение, как правильней организовать структуру базы данных для этой задачи (чат между юзерами).
Не создавать же новую таблицу сообщений для каждого нового юзера.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562234
Urukhayy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По ключу привязывать все данные между таблицами. Включая ID юзеров и их сообщения.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562235
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я согласен, если юзеров 1000 (или больше) и все активные, на таблицу messages будет неимоверная нагрузка.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562300
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиенты чата обычно хранят историю переписки локально, так что на таблицу messages нагрузка будет исключительно write-only. Если каждый из тысячи пользователей будет посылать одно сообщение в секунду (что, с учётом скорости набора на клавиатуре означает сообщение из одного слова), то в таблицу будет идти вставка на скорости 1000 записей в секунду. "Неимоверной" такая нагрузка может называться только в случае если сервер крутится на какой-нибудь мобиле.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562332
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovКлиенты чата обычно хранят историю переписки локально
Если не трудно в общих чертах как это.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562340
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562344
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivFantasyDD,
Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет.

Просто у меня была подобная ситуация только с Firebird шли транзакции в одну (Все было в ней) таблицу с ~50 клиентов. Таблица за 2 дня раздувалась до пол гигобайта и начинала жутко тормозить. Я понимаю не оптимизировано. НО все равно страшно.
Может для каждого юзера папка и историю хранить там в файле. В xml, JSON, или что-то подобное.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562376
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень хотелось бы услышать мнение.
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562420
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZivFantasyDD,
Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет.

Просто у меня была подобная ситуация только с Firebird шли транзакции в одну (Все было в ней) таблицу с ~50 клиентов. Таблица за 2 дня раздувалась до пол гигобайта и начинала жутко тормозить. Я понимаю не оптимизировано. НО все равно страшно.
Может для каждого юзера папка и историю хранить там в файле. В xml, JSON, или что-то подобное.

Таблицы меряют в количестве записей. Сколько записей у тебя было в старой и предполагается в новой бд?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562422
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDОчень хотелось бы услышать мнение.
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?

Идиотское.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562428
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDЕсли основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"А какая связь между MySQL и Sqlite ? Зачем использовать две СУБД ?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562429
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivFantasyDDОчень хотелось бы услышать мнение.
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?
Идиотское.
Обоснуйте ответ.
Мое решение имеет основание.
1) В таком решении оптимизация не нужна. (дефрагментация.... базы )
2) Выдержит практически любое количество юзеров.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562430
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZivпропущено...

Идиотское.
Обоснуйте ответ.
Мое решение имеет основание.
1) В таком решении оптимизация не нужна. (дефрагментация.... базы )
2) Выдержит практически любые количество юзеров.


Я тебе задал вопросы.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562441
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
А какая связь между MySQL и Sqlite ? Зачем использовать две СУБД ?
Я не очень разбираюсь в том что происходит по капотом у MySQL но постоянные транзакции к одной таблице я думаю будут сильно фрагментировать файл таблицы.
Если создавать для каждого юзера свою таблицу. может стработать ограничение на юниксе (~ 11 000 одновременно открытых файлов)

А так по любому персональные файлы фото... будут хранится в одноименной папке юзера, почему бы не сохранить там диалоги. Файл гарантировано не будет фрагментирован. Появляется возможность легко удалить юзера. И в общих чертах все выглядит понятно.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562456
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, Я тебе задал вопросы.
Я ответил ели одна база то я буду вносить изменения в (большой возможно и 1G файл)
А если две базы то я вношу за сессию изменения в несколько маленьких (думаю до 1М)
В чем глупость?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562466
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Сообщи размеры таблиц, бывший и предполагаемый. В количестве записей.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562469
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivFantasyDD,

Сообщи размеры таблиц, бывший и предполагаемый. В количестве записей.

В лучшем стечении обстоятельств (не нужно исключать что повезет) mamba.ru
Аудитория проекта превысила 9 500 000 человек, более 60 000 пользователей единовременно находится онлайн
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562542
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Я спрашивал про размеры таблиц, а не кол-во пользователей.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562544
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDЯ не очень разбираюсь в том что происходит по капотом у MySQL но постоянные транзакции к одной таблице я думаю будут сильно фрагментировать файл таблицы.


Если ты не очень разбираешься, то может не нужно фантазировать на тему "как будет лучше работать" ?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562823
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv Может не стоит фантазировать на тему как мне дать замечание и терять зря свое время на бесполезный фулд.
А если есть свое мнение высказаться конкретно по теме.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562844
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDМожет не стоит фантазировать на темуВам именно это и посоветовали.
FantasyDDвысказаться конкретно по теметак ответьте уже на его вопрос, неоднократно заданный, кстати:MasterZivЯ спрашивал про размеры таблиц, а не кол-во пользователей
MasterZivТаблицы меряют в количестве записей. Сколько записей у тебя было в старой и предполагается в новой бд?
PS. И с чего вы взяли, что склайт-базёнки не будут фрагментироваться, если уж начать бредить в этом направлении?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562867
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZivпропущено...

Идиотское.
Обоснуйте ответ.
Мое решение имеет основание.
1) В таком решении оптимизация не нужна. (дефрагментация.... базы )
2) Выдержит практически любое количество юзеров.
Обосновываю.

Берём два утверждения.

FantasyDDюзеров 1000 (или больше) и все активные
FantasyDDдля каждого юзера создавать папку в ней хранить переписку в Sqlite файле

Итог - несчастный SQLite жуёт 1к несвязанных баз, ему катастрофически нехватает ресурсов (в первую очередь памяти), хост неимоверно свопит, чат не отвечает, юзеры в тыщу глоток портят карму (censored) "архитектора"...
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562876
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZiv Может не стоит фантазировать на тему как мне дать замечание и терять зря свое время на бесполезный фулд.
А если есть свое мнение высказаться конкретно по теме.


Феерично....
Не, ну хотел помочь человеку...
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562956
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv С удовольствием выслушал бы ваше мнение. (Мнение профессионала)
Но не то что я зря теряю время и что мне не надо делать то что я не умею или не знаю.
Какое решение вы предлагаете? В чем будут проблемы в той структуре что я предложил (2 базы).
Где ждать подводные камни в этом решении?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563054
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И с чего вы взяли, что склайт-базёнки не будут фрагментироваться, если уж начать бредить в этом направлении?

В одном фале последовательно сложить 500 текстовых сообщений, не удаляя нечего. Где фрагментация? В чем бред?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563152
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDВ одном фале последовательно сложить 500 текстовых сообщений, не удаляя нечего. Где фрагментация? В чем бред?Фрагментация будет ОБЯЗАТЕЛЬНО. Например, почитайте, что такое кластерный индекс.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563324
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD, Давай вернёмся к началу.

авторЗадача создать чат между юзерами. My SQL.
Создаю 2 таблицы messages, users.
users : Список юзеров
messages : Сообщения между юзерами.


Сколько записей предполагается хранить в таблицах users, messages ?
Примерно, важна оценка с точностью до порядка величины.

авторВыходит что таблица messages в случае большой нагрузки будет ОГРОМНОЙ (все сообщения между юзерами будут в ней)


Как ты думаешь, какие операции в твоей БД будут затрагивать ВСЕ записи в таблице messages ?
Попробуй составить список таких операций. Или список вообще всех операций, и пометь в нём те операции, которые будут обрабатывать сразу все сообщения.

авторНе создавать же новую таблицу сообщений для каждого нового юзера.
...
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?


Для задачи "Чат" типична задача "вывести все сообщения между двумя или более пользователями" (если нет -- напиши, что тебе эта задача не нужна).

Расскажи, как ты представляешь себе решение этой задачи (можешь написать запрос для неё), если у тебя сообщения разных пользователей лежат в разных таблицах.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563423
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

1) users записей до 100 000 структура простая индекс ID, имя, почта, (может еще пару полей)

2) Удалить пользователя со всеми диалогами, править диалоги, удалять переписку, править переписку. (Возможно будут еще задачи)

3) Задача чат между юзерами.
Вы пишите ко мне, ID1 обратился к ID2 у ID2 в файл сохраняется переписка в моей папке (В папке ID2 файл my_messages.db).
Вы хотите посмотреть нашу переписку. Переписку с кем? Oбращаемся ко мне в папку (D2 файл my_messages.db) если есть продолжаем, нету делаем первую запись.
Я удалил переписку, обращаетесь, нет переписки, начинаем снова.

Просто и красиво, на мой взгляд, и нагрузка любая.

А ваше предложение, как организовать. Или в чем может быть подвох?

"Фрагментация будет ОБЯЗАТЕЛЬНО. Например, почитайте, что такое кластерный индекс." По любому тогда будет фрагментация(с любой структурой), юзеры будут менять свои фото и аватары, добавлять фото...
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563432
dubolom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Вы производите впечатление трудолюбивого, одержимого жаждой деятельности, творческого человека, наделенного пытливым умом.
К сожалению, эти замечательные качества не могут компенсировать отсутствие опыта и практических знаний.
Ну ничего, вы просто поэкспериментируйте, попробуйте то, попробуйте это ... Поделитесь потом как-нибудь своим опытом ...
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563479
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dubolom, Спасибо. У меня был опыт только под win и Firebird, печатались билеты, набранные несколькими операторами, все запихал в две таблицы, структура получилась сложной (Приведу пример = приход, разход, остаток. sql select был такой ОСТАТОК ПРЕДЫДУЩЕЙ ЗАПИСИ СКЛАДЫВАЕТСЯ С ПРИХОДОМ СЛЕДУЮЩЕЙ ВЫЧИТАЕТСЯ РАСХОД И ПИШЕТСЯ ОСТАТОК НАСТОЯЩЕЙ :) вписывал только приход и расход остаток сам рассчитывался + связные с этим таблицы ), файл базы данных работал 2 дня максимум, раздувался до огромных размеров.
После этого опыта понимаю что нужно основательно подойти к структуре и не менять лошадей на переправе.
Обязательно поделюсь своим опытом в этом проекте, если будет кому интересно.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563555
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDпечатались билеты, набранные несколькими операторами, все запихал в две таблицы, структура получилась сложнойПотому и получилась фигня, что задача решалась лихим наскоком, без анализа предметной области. А сделай как положено, начав с карандаша и бумаги - таблиц было бы больше, но структура была бы простой, понятной и быстро работающей.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563652
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDDubolom, Спасибо. У меня был опыт только под win и Firebird, печатались билеты, набранные несколькими операторами, все запихал в две таблицы, структура получилась сложной (Приведу пример = приход, разход, остаток. sql select был такой ОСТАТОК ПРЕДЫДУЩЕЙ ЗАПИСИ СКЛАДЫВАЕТСЯ С ПРИХОДОМ СЛЕДУЮЩЕЙ ВЫЧИТАЕТСЯ РАСХОД И ПИШЕТСЯ ОСТАТОК НАСТОЯЩЕЙ :) вписывал только приход и расход остаток сам рассчитывался + связные с этим таблицы ), файл базы данных работал 2 дня максимум, раздувался до огромных размеров.
После этого опыта понимаю что нужно основательно подойти к структуре и не менять лошадей на переправе.
Обязательно поделюсь своим опытом в этом проекте, если будет кому интересно.

Э... тут видимо имело значение то, какая именно СУБД это была...
Firebird -- он такой, он любит ... "раздуваться".

Я думаю, что этот конкретно твой опыт лучше всего забыть, как страшный сон, и не думать о нём более.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563657
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ещё раз призываю тебя сконцентрироваться на ответах на мои вопросы...


FantasyDDMasterZiv,

MasterZiv Сколько записей предполагается хранить в таблицах users, messages ?


1) users записей до 100 000 структура простая индекс ID, имя, почта, (может еще пару полей)

Код: plaintext
Юзеров 100тыщ, понятно. Где messages?

MasterZiv Как ты думаешь, какие операции в твоей БД будут затрагивать ВСЕ записи в таблице messages ?
Попробуй составить список таких операций.


2) Удалить пользователя со всеми диалогами, править диалоги, удалять переписку, править переписку. (Возможно будут еще задачи)



MasterZiv Расскажи, как ты представляешь себе решение этой задачи (можешь написать запрос для неё)


3) Задача чат между юзерами.
Вы пишите ко мне, ID1 обратился к ID2 у ID2 в файл сохраняется переписка в моей папке (В папке ID2 файл my_messages.db).
Вы хотите посмотреть нашу переписку. Переписку с кем? Oбращаемся ко мне в папку (D2 файл my_messages.db) если есть продолжаем, нету делаем первую запись.
Я удалил переписку, обращаетесь, нет переписки, начинаем снова.

А ваше предложение, как организовать. Или в чем может быть подвох?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563664
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, нажал кнопку раньше...

Подвох в том, когда ты попытаешься написать запрос, который тебе бы выводил нужные данные для чата двух пользователей.
Он будет весьма витиеватым, если ты его вообще напишешь.

Ещё что ты никак не можешь понять, что производительность запросов почти никак не зависит от объема данных в таблице,
при условии, что запрос использует нужные индексы. Т.е. в БД возможны такие случаи:
таблица маленькая, индексы не используются -- всё нормально

таблица маленькая, индексы используются -- всё нормально

таблица большая, индексы для запроса не используются -- запрос просто не будет работать (размер таблицы от 5-10 тыщ записей уже), и тебе придётся переделать запрос так, чтобы он использовал индексы.

таблица большая, индексы для запроса используются -- производительность запроса -- O(log N), N -- размер таблицы в кол-ве записей. Как можно догадаться, будет N равно 10 тысяч или миллиард -- разница небольшая.

Так что до миллиарда сообщений ты можешь быть относительно спокоен -- всё будет летать. Ну, хорошо, сделаем скидку на то, что это mySQL -- до десятков миллионов сообщений (на 2 порядка уменьшил).
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563670
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё же не дописал...

ну и с учётом всего вышесказанного, напрашивается простой вывод -- разбивать таблицу на части по вертикали просто нет смысла, поскольку и так оно будет работать. Хочу также заметить, что обычно разбивают на 10-100 частей, что в принципе особого прироста скорости дать не должно. В твоём случае это было бы 100000 раз, в 100000 раз таблицы были бы меньше. Это наоборот, существенное улучшение. Но оно не нужно.

НО! если всё же ты захочешь разбить... В MySQL (как и в некоторых других СУБД) теперь есть table partitioning, таблицу физически MySQL может тебе разбивать на части, а логически это будет одна таблица, и почти все действия по организации сбора информации из многих таблиц тебе не придётся делать руками. Всё же лучше чем "палка и верёвка" из скрещения MySQL и SQLLite.

Но я не советую пока использовать партицирование, это можно будет сделать потом, когда объёмы данных реально дойдут до больших чисел.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563807
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
firebird для меня правда страшный сон!

Я опишу индексные поля таблицы users:
ID - Номер юзера (он уникальный)
ID_NAME - Имя юзера.
Остальные поля не индексируемые

Таблица mesages:
ID_MESAGE - Автоинкрементный для уникальности записи и сохранения порядка сообщений
ID_FROM - От кого сообщение (users:ID - Номер юзера)
ID_TO - Кому сообщение (users:ID - Номер юзера)
MESAGE - Сообщение (не индексируется, слишком большое, но нужное)
Остальные поля не индексирую(Время,тип....)

в php оберну в клас обмен сообщениями между юзерами, в таком случае легко будет реализовать и структуру с одной базой и в связке (2 базы, хранить сообщения отдельно в паке юзера) нужно будет просто сменить класс.

Спасибо всем за участие и советы, все в общих чертах обрисовалось с ваших советов!
Я в этой ветке в будущем опишу что и как получилось, думаю будет интересно.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563811
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дополнительно ++++ MasterZiv я не знал про Секционирование
Я дополнительной базой делал Секционирование По списку значений (По первому впечатлению от описания Секционирования )
Страх от Firebird у меня остался, думал что все базы хромые.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563870
Фотография AHAPXuCT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

А еще знаете, подумайте про отдельную таблицу, в которой будет храниться история сообщений.
И можно сделать так, чтобы ночью специальный job переносил сообщения, старше N дней в эту архивную таблицу.
Таким образом, содержимое вашей основной рабочей таблицы будет частично очищаться от старых сообщений.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563882
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHAPXuCTподумайте про отдельную таблицу, в которой будет храниться история сообщений.
И можно сделать так, чтобы ночью специальный job переносил сообщения, старше N дней в эту архивную таблицу.
Таким образом, содержимое вашей основной рабочей таблицы будет частично очищаться от старых сообщений.
Партиционирование по дате сделает ровно то же самое, только более естественно и без нагрузки на сервер.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / MySQL [игнор отключен] [закрыт для гостей] / My SQL нормальная форма
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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