存储电子邮件模板的适当方法是什么

时间:2012-03-18 13:18:54

标签: database database-design

将网页存储在数据库中是否合适? 我使用的是mysql的InnoDB引擎,电子邮件模板是一个邮件格式的修改后的html文件,所以应该有一个简单的html文件。

请注意,这些模板不是每个人都可以访问的,它们应该引用userID,例如,用户A有template1,2,3 ..但是UserB可能有模板2,3,5,6 ..

我应该存储这种文件的数据类型是什么?

或者不是使用数据库,我应该创建一个html文件并使用php写入并为每个用户打开一个文件夹?

感谢您的帮助,我在处理此类数据方面经验不足

3 个答案:

答案 0 :(得分:3)

通常,对于大多数项目来说,数据库是瓶颈。因此,如果您可以避免使用它,那么请不要使用它。 如果html很小(例如10kb),那么您可以存储在数据库中。 但是,如果它很大(并且需要BLOB或大varchar),则使用注册表的唯一ID将其保存在文件夹中,并注意可能存在的模板数量。但是,系统备份还需要备份这些文件(而不是数据库的单个备份)。

  

用户A具有template1,2,3 ..但UserB可能具有模板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

简历

存储在数据库中

临:

  • 浓度。
  • 易于使用

缺点:

  • 表现点击
  • 增加数据库的大小。

存储在文件中

临:

  • 快(仅当模板数量不大时)
  • “无限”大小。

缺点:

  • 数据不一致。
  • 需要额外的工作。
  • 证券问题。

ps:Wordpress和其他门户和博客系统(通常)将其存储在数据库中,但LMS(学习管理系统)存储在文件中。

答案 1 :(得分:0)

我会选择名为行主键的文件。它更容易编辑,颠覆等。

您可以使用.htaccess Deny from All保护存储文件夹,并使用PHP的file_exists()来确定。它每次调用<0,5ms,比从数据库中检索BLOB便宜。

答案 2 :(得分:0)

使用SQL Server,您可以存储最多2147483647个字符