0

Я внедряю приложение для веб-почты. Только зарегистрированные пользователи могут отправлять, получать и просматривать электронные письма. Когда я начинаю разрабатывать базу данных, у меня возникла следующая проблема.
Допустим, что это приложение имеет значение 100 000 пользователей (может быть, больше этого). каждый пользователь может иметь тысячи (N * 1000) писем в их inboxes.What мой вопрос ...

Можно ли создать таблицу Входящие для каждого пользователя динамически ИЛИ создать только одну таблицу -Входящие все пользователи?

Разработка базы данных для почтового клиента

Если я использую только один Входящую таблицу будет содержать 100000 * (п * 1000) records.If я другой путь только электронной почту конкретного пользователя будет храниться в соответствующей таблице почтового ящика. Но будет тысяч таблиц входящих сообщений в базе данных.

Может ли один предложить дизайн ключ ...

ответ

2

Это более сложный вопрос, чем кажется на первый взгляд. Обычно наклон для одной таблицы.

Однако мы говорим о пользователях и электронных сообщениях здесь. В SQL Server (как и в других базах данных) гораздо проще обрабатывать разрешения на уровне таблицы, а не на уровне строк. Итак, это одно соображение, которое может подтолкнуть вас к нескольким таблицам.

То есть, несмотря на то, что несколько таблиц трудно:

  • Изменения в структуре данных должны быть воспроизведены мильона раз.
  • SQL предназначен для обработки действительно больших таблиц, но не обязательно их много (хотя несколько тысяч не должны создавать проблемы).
  • Простые запросы, такие как «Сколько непрочитанных писем имеет каждый пользователь?» становятся почти невозможными.
  • Внешние ссылки на таблицу входящих сообщений невозможны.
Смежные вопросы