Каков подход к хранению почтовых шаблонов? - PullRequest
6 голосов
/ 18 марта 2012

Целесообразно ли хранить веб-страницу в базе данных?Я использую движок InnoDB mysql, шаблоны электронной почты - это модифицированные html-файлы в почтовом формате, поэтому должен быть простой html-файл.

Обратите внимание, что эти шаблоны доступны не всем, они должны ссылатьсяк userID, так, например, у пользователя A есть template1, 2, 3 .. но у UserB может быть шаблон 2,3, 5, 6 ..

Какой тип данных я должен хранить этот тип файла?

Или вместо использования базы данных я должен создать html-файл и использовать php для записи в него и открытия папки для каждого пользователя?

Спасибо за помощь, у меня меньше опыта вобработка данных такого типа

Ответы [ 3 ]

3 голосов
/ 18 марта 2012

Обычно, и для большинства проектов, база данных является узким местом. Так что, если вы можете избежать его использования, не используйте его. Если HTML небольшой (например, 10 КБ), то вы можете сохранить в базе данных. Однако, если он большой (и требует большого двоичного объекта или большого varchar), сохраните его в папке с файлом, используя уникальный идентификатор реестра, следя за тем, чтобы количество шаблонов могло существовать. Однако резервное копирование системы требует также резервного копирования этих файлов (вместо одной резервной копии базы данных).

У пользователя A есть шаблон 1, 2, 3 .., но у пользователя B может быть шаблон 2,3, 5, 6 ..

Звучит как

Таблица пользователей

Id_User Name_User ...

Шаблон таблицы

Id_Template Name_Template Content_Template (если он не управляется файлом) ....

Таблица UserxTemplate

Id_User Id_Template

Получить все шаблоны пользователем

 select * from User a,Template b,UserxTemplate c
 where c.id_user=a.id_user and   c.id_template=b.id_template and a.id_user=xxx

В резюме

Хранить в базе данных

Pro:

  • консистенция.
  • простой в использовании

Минусы:

  • Хит производительности
  • Увеличение размера базы данных.

Хранить в файле

Pro:

  • быстро (только если количество шаблонов невелико)
  • «неограниченный» размер.

Минусы:

  • Несоответствие данных.
  • Требуется дополнительная работа.
  • Выпуски ценных бумаг.

ps: Wordpress и другие системы порталов и блогов (обычно) хранят его в базе данных, однако LMS (система управления обучением) хранит в файле.

0 голосов
/ 01 мая 2012

В SQL Server вы можете хранить не более 2147483647 символов

0 голосов
/ 18 марта 2012

Я бы пошел с файлами, названными в качестве первичного ключа строки.Его проще редактировать, подрывать и т. Д.

Вы можете защитить папку хранилища с помощью .htaccess Deny from All и использовать PHP file_exists() просто для уверенности.Это <0,5 мс на звонок, и дешевле, чем извлекать его как BLOB из базы данных. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...