在以下情况下哪种数据库设计更好?为什么?

西迪什什

首先,我想清除情况。

有批量邮件系统有列表(电子邮件组),每个列表都有多个联系人(电子邮件)。联系人具有某些状态,例如正常,退订,退回等。

我正在考虑设计这样的东西。

Table Contacts
-----------------------------------------
id    email   group_id contacts   status
-----------------------------------------

状态将存储上述的电子邮件ID状态。

但是一个列表可以包含成千上万的电子邮件,因此,如果客户端增加,则数据检索将导致性能问题

所以我得到了两种解决方案

  1. 为状态列建立索引
  2. 为不同的联系状态创建不同的表格,例如

    一个用于普通添加联系人的表,另一个用于未订阅联系人的表。对于其他州,依此类推

所以我的问题是,哪种方法可以更好地解决上述情况。请指导我。

我将表中的多对多关系和联系人列表绑定在一起只是为了描述问题。提前致谢。

更新

查询上表信息

  1. 用于检索正常联系人

    从其中group_id ='[group_id]'和状态= 1的联系人中选择*

  2. 对于未订阅的联系人

    从group_id = [group_id]'和status = 2的联系人中选择*,依此类推。

埃德·赫尔

对于您的评论把一个指数group_idstatus

IE

 create index my_index on contacts(group_id, status) 

这将解决任何性能问题,因为数据库可以在不锁定表的情况下找到列表。

最好不要在扫描列表(例如通过电子邮件发送)时执行任何昂贵的操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在这种情况下,哪种数据库设计更有效?

来自分类Dev

在以下情况下,什么是好的设计模式?

来自分类Dev

为什么在以下情况下会发生StackOverflowError?

来自分类Dev

在以下情况下应使用哪种排序算法?

来自分类Dev

为什么自然联接在以下情况下将输出设为空集?

来自分类Dev

为什么在以下情况下用于接口而不是类?

来自分类Dev

在以下情况下,为什么不需要对依赖类型使用typename?

来自分类Dev

为什么在以下情况下我无法调用javascript AJAX函数?

来自分类Dev

为什么在以下情况下无法访问资源ID?

来自分类Dev

为什么在以下情况下引发了不同类型的异常?

来自分类Dev

为什么在以下情况下无法进行数组转换和HTML解析的逻辑?

来自分类Dev

在以下情况下,为什么'var a = function(){}`与`function a(){}`类似?

来自分类Dev

为什么在以下情况下c ++会生成构造函数?

来自分类Dev

为什么在以下情况下用于接口而不是类?

来自分类Dev

为什么在以下情况下,角度的时区无法按预期工作

来自分类Dev

为什么在以下情况下分配后结构地址不等于

来自分类Dev

在以下情况下使用什么模式?

来自分类Dev

在以下情况下使用什么模式?

来自分类Dev

哪个是更好的数据库设计,为什么?

来自分类Dev

字符串比较:为什么在以下情况下我们会有不同的输出

来自分类Dev

在以下情况下,为什么对PHP脚本进行的AJAX调用中会多次显示成功警报消息?

来自分类Dev

在以下情况下,为什么下拉列表不会根据从选择框中选择的值进行隐藏和显示?

来自分类Dev

在以下情况下如何访问json数据并在if条件下使用?

来自分类Dev

在10行的情况下使用状态管理或数据库行程是否更好?

来自分类Dev

在10行的情况下使用状态管理或数据库行程是否更好?

来自分类Dev

哪种数据库设计更适合django关注/取消关注?

来自分类Dev

哪种情况下效果更好

来自分类Dev

在前缀指定关系的情况下改进数据库设计

来自分类Dev

在前缀指定关系的情况下改进数据库设计

Related 相关文章

  1. 1

    在这种情况下,哪种数据库设计更有效?

  2. 2

    在以下情况下,什么是好的设计模式?

  3. 3

    为什么在以下情况下会发生StackOverflowError?

  4. 4

    在以下情况下应使用哪种排序算法?

  5. 5

    为什么自然联接在以下情况下将输出设为空集?

  6. 6

    为什么在以下情况下用于接口而不是类?

  7. 7

    在以下情况下,为什么不需要对依赖类型使用typename?

  8. 8

    为什么在以下情况下我无法调用javascript AJAX函数?

  9. 9

    为什么在以下情况下无法访问资源ID?

  10. 10

    为什么在以下情况下引发了不同类型的异常?

  11. 11

    为什么在以下情况下无法进行数组转换和HTML解析的逻辑?

  12. 12

    在以下情况下,为什么'var a = function(){}`与`function a(){}`类似?

  13. 13

    为什么在以下情况下c ++会生成构造函数?

  14. 14

    为什么在以下情况下用于接口而不是类?

  15. 15

    为什么在以下情况下,角度的时区无法按预期工作

  16. 16

    为什么在以下情况下分配后结构地址不等于

  17. 17

    在以下情况下使用什么模式?

  18. 18

    在以下情况下使用什么模式?

  19. 19

    哪个是更好的数据库设计,为什么?

  20. 20

    字符串比较:为什么在以下情况下我们会有不同的输出

  21. 21

    在以下情况下,为什么对PHP脚本进行的AJAX调用中会多次显示成功警报消息?

  22. 22

    在以下情况下,为什么下拉列表不会根据从选择框中选择的值进行隐藏和显示?

  23. 23

    在以下情况下如何访问json数据并在if条件下使用?

  24. 24

    在10行的情况下使用状态管理或数据库行程是否更好?

  25. 25

    在10行的情况下使用状态管理或数据库行程是否更好?

  26. 26

    哪种数据库设计更适合django关注/取消关注?

  27. 27

    哪种情况下效果更好

  28. 28

    在前缀指定关系的情况下改进数据库设计

  29. 29

    在前缀指定关系的情况下改进数据库设计

热门标签

归档