Оптимизация хранения данных в БД

315
21 ноября 2017, 21:45

Существует проект. В текущем виде, для каждого клиента создается по 3 таблицы в БД MySql, (условно, таблица с конфигурацией пользователя, таблица с сообщениями итп). В связи с особенностями проекта, для каждого отдельно взятого клиента структура соответствующих ему таблиц может быть различной, однако все же соответствует одному из нескольких типов.

Число клиентов постоянно увеличивается, в связи с этим, собственно, вопросы:

1) Насколько наличие большого количества таблиц в БД влияет на производительность и надежность хранения данных?

2) Стоит ли оставить все в том виде, что есть, или нужно переделать логику хранения и подогнать под фиксированное количество таблиц, тем самым во много раз увеличив число записей в этих самых таблицах. (Если проще: Что лучше - много таблиц с небольшим количеством записей или пара таблиц с огромным количеством записей)

3) Каковы ограничения (и существуют ли они) по количеству записей в одной таблице и по количеству таблиц в БД.

4) Какой тип таблиц выбирать? (MyISAM/MyISAM)

Answer 1

1) Насколько наличие большого количества таблиц в БД влияет на производительность и надежность хранения данных?

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

2) Стоит ли оставить все в том виде, что есть, или нужно переделать логику хранения и подогнать под фиксированное количество таблиц, тем самым во много раз увеличив число записей в этих самых таблицах. (Если проще: Что лучше - много таблиц с небольшим количеством записей или пара таблиц с огромным количеством записей)

-- Создайте три таблицы со стандартными данными и еще таблицу с клиентами, в первых трех используйте ID из таблицы клиентов и это решит все проблемы.

3) Каковы ограничения (и существуют ли они) по количеству записей в одной таблице и по количеству таблиц в БД.

-- Кол-во таблиц и количество записей не лимитируются.

4) Какой тип таблиц выбирать? (MyISAM/MyISAM)

-- При использовании больших таблиц лучше использовать MyISAM в интернете много статей сравнения видов.

READ ALSO
Работа потоков с Queue в java

Работа потоков с Queue в java

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

265
Поиск хештегов по словам в постах Facebook. Java

Поиск хештегов по словам в постах Facebook. Java

Мне необходимо предоставить процентное количество хештегов, которые наиболее часто употребляются с постами в FB, в которых содержится слово...

223
Java, почему с == 2?

Java, почему с == 2?

Почему С == 2 после выполнения main и как можно сделать чтобы r1 и r2 всегда были нулями?

230
Проигрывание YouTube video без использования YouTube Data API

Проигрывание YouTube video без использования YouTube Data API

Хочу добавить в приложение возможность поиска и просмотра,видео на YouTube без использования YouTube Data API так как там есть ограничения по количеству...

278