我正在制作一个网站,用户每月输入一次数据,这个数据存储在一个mysql数据库中,带有一个日期键,因此可以按日期。浏览这些数据让每个用户都拥有一个单独的表格时,它会更容易和更具人性化,但是我非常确定这样做会是一个坏主意。任何人都可以证实这一点并提供其他解Mysql为每个用户分开表。 (用户每月输入数据,如果这个数据是在一个单独的表中输入的话)
0
A
回答
0
那么一个新用户会成为一个新表?
此:
- 意味着DDL权利(CREATE TABLE)到MySQL网站的用户(除非你手动或通过某种crontab的任务做)
- 不会使它很容易解析的withouth的混合mysql的user_schema表和常见的DML操作,每当你想获取所有用户的数据,或者仅仅知道用户的列表
真正的答案是不容易的,不是绝对的,但理想情况下,作为一个“宗教”的意见,我尽量避免模型操作在我的网站的日常生活中。 将自己定位于元模型化。
希望它的帮助下,
S.
1
为什么要这么做? SQL将为您过滤数据...例如获取当月的数据:
select col1, col2, col3 from tbl1 where date_format(date_col, '%m') = date_format(now(), '%m')
0
使用历史记录表可以有一个优势,主要是当有性能的原因这样做时。然而,一般来说,除非您计划拥有大量数据(大多数RDBMS可轻松支持数百万条记录,而不会影响性能),否则无需将当前月份的数据与上个月的数据分开。 我不会推荐将表格仅用于演示目的。
你必须考虑其他事项以及历史表。例如,您需要安排的事件将数据从当前表移动到历史记录表。如果您更改当前表格,则还需要更改历史记录表格。查询所有数据可能会更麻烦一些,因为您使用的是UNION。
似乎更容易在单个表上有适当的表索引,并且如果需要,可以查看当前的月份数据。但是,如果性能是一个问题,那么我同意将数据移动到历史记录表可能是有利的。
相关问题
- 1. mySQL数据为每个用户唯一
- 2. 如何查询数据的第一个月为每个用户
- 3. Postgresql - 每个用户一个数据库或每个用户一个数据库
- 4. 的MySQL从每一个表中获取用户最新数据
- 5. 每个数据库一个用户vs所有数据库的单个用户
- 6. 为每个用户插入一行mysql
- 7. 在这里,在表中的每个TR具有用户和用户数据。是使用形式为每个用户或一种形式的为所有用户
- 8. html表单输入 - 每个输入字段的多个答案
- 9. 如何根据表单中的用户输入从另一个表中插入数据字段?
- 10. 根据用户输入,其中用户输入是沿着几个逗号分隔的数据
- 11. 为MySQL 10M记录中的每个用户提供的所有用户或单独的表的一个表db
- 12. 按用户分组为每周,每月的数据分组
- 13. MySQL的信息输入到表中根据用户输入
- 14. 如何创建一个用户可以在Python中输入数据的GUI表?
- 15. 在新工作表中输入用户表单数据
- 16. 如何为输入的句子中的每个单词分配一个数字?
- 17. 使用输入的表单数据在另一个区与HTML
- 18. 确保数据库中每个用户,每个页面的单一投票数
- 19. 检查用户输入的单个数值是否为数字
- 20. 为每个用户创建单独的表来存储数据或使用单个表
- 21. 根据用户登录会话在另一个表中输入user_id的值
- 22. Web应用程序是否为每个用户数据创建一个新表?
- 23. VBA用户表单输入数据并在下一个空行上编号
- 24. 从一个表/ gridview取用户输入
- 25. 用户输入建立一个链表
- 26. 如何用输入框输入数据到多个表格
- 27. MySQL/PHP:如何将登录的用户标识插入到另一个表中,该表正在从用户输入的表单中收集数据
- 28. 列中每个输入的输出行Pentaho数据集成勺
- 29. 加入2个用户输入表
- 30. PHP/MySQL的:消毒用户输入 - 这是一个坏主意?
为什么这是一个坏主意? – 2013-02-17 16:31:59
@ExplosionPills - 嗯?假设所有字段都是相同的,只需在表中添加一个UserId列即可。然后,您可以轻松地由用户查询 - 除非我误解了某些内容,否则没有必要或不需要为每个用户设置单独的表格。 – sgeddes 2013-02-17 16:37:56
我猜不是每个用户都有一个单独的表格,而是一个单独的用户历史表格 – 2013-02-17 16:39:58