Горизонтальное разбиение таблиц в многопользовательских общих средах - PullRequest
0 голосов
/ 30 апреля 2018

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

Эти ресурсы могут совместно использоваться несколькими пользователями.

Поэтому у меня есть таблица Users, таблица Resources и таблица UserResources «многие ко многим».

TABLE Users (GUID userId, String username);

TABLE Resources (GUID resourceId, String resourcePath, DateTime createdAt, DateTime updatedAt, int property1, ...);

TABLE UserResources (GUID userId, GUID resourceId);

Какова наиболее эффективная стратегия для горизонтального разбиения таблицы 'UserResources'?

то есть

Какие столбцы следует использовать в качестве столбцов разделения в UserResources, чтобы обеспечить наилучшую производительность (с точки зрения времени выполнения) запросов?

Спасибо всем!

cghersi

1 Ответ

0 голосов
/ 04 мая 2018

Нет смысла разбивать таблицу «многие ко многим». Вы вряд ли получите какую-либо производительность. На самом деле производительность может пострадать.

Мои советы по таблицам «многие ко многим» (для MySQL): http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table

...