Страница 1 из 1

app_comments разбить на несколько таблиц

Добавлено: 14 мар 2024, 17:57
dilon
Живой пример.
6 лет работы в СРМ Руководитель привели к тому, что в базе данных таблица app_comments имеет самый большой размер = 90 МБ и 401 тыс. строк.
1Безымянный.png
1Безымянный.png (11.32 КБ) 421 просмотр
Есть ощущение, что комментарии стали подгружаться чуть дольше.
И понимание, что со временем из-за дальнейшего роста размера таблицы будет всё хуже.

Предложение: В Версии 3.6. разбить таблицу app_comments на несколько таблиц, по одной для каждой сущности.
Например, app_comments_21 , app_comments_22, и т.д.
По аналогии с app_entity_21_values и app_entity_22_values
Заложить это в механизм /install/autoupdate/from_3.5_to_3.6.php

Понятно, что это повлечет за собой также и переделку php-файлов срм, отвечающих за отображение комментариев.
А также за учет истории изменений (в Дополнении)

Но думаю, что потребность в такой оптимизации рано или поздно наступит у большинства активных пользователей срм.

Re: app_comments разбить на несколько таблиц

Добавлено: 14 мар 2024, 22:19
Fait
Согласен, было бы удобно.
У меня у самого таблица весит уже 75 МБ

Re: app_comments разбить на несколько таблиц

Добавлено: 14 мар 2024, 22:42
nruslan2
+1

Re: app_comments разбить на несколько таблиц

Добавлено: 17 мар 2024, 20:04
Vladzimir
Зачем что-то усложнять, если нужен всего лишь составной индекс на entities_id и items_id
Точнее даже items_id и entities_id (потому-что чего меньше, тот и первый в индексе)

Re: app_comments разбить на несколько таблиц

Добавлено: 18 мар 2024, 11:06
remchik
Vladzimir писал(а): 17 мар 2024, 20:04 Зачем что-то усложнять, если нужен всего лишь составной индекс на entities_id и items_id
Точнее даже items_id и entities_id (потому-что чего меньше, тот и первый в индексе)
И возможно поработать над запросом в БД, подгружать лимитом