我正在创建一个用户每月输入数据的网站,这些数据存储在一个带有日期键的mysql数据库中,因此可以按日期检索。在浏览这些数据时,每个用户都有一个单独的表,这将更容易和更人性化,但我非常肯定这样做是个坏主意。任何人都可以确认并提供其他解决方案。
答案 0 :(得分:1)
你为什么要这样做? SQL会为您过滤数据...例如获取当月的数据:
select col1, col2, col3 from tbl1 where date_format(date_col, '%m') = date_format(now(), '%m')
答案 1 :(得分:0)
然后一个新用户会是一个新表吗?
此:
真的答案并不容易,也不是明确的,但理想情况下,作为一种“宗教”观点,我试图避免在我的网站日常生活中操纵模型。 让自己走向元模型化。
希望它有所帮助,
S上。
答案 2 :(得分:0)
使用历史记录表可能有一个优势,主要是在有性能原因的情况下。但是,一般来说,除非您计划拥有大量数据(大多数RDBMS可以轻松支持数百万条记录而不会影响性能),因此您无需将当前月份的数据与上个月的数据分开。 我不建议仅仅为了演示目的而拆分表格。
您还必须考虑其他事项以及历史记录表。例如,您需要安排事件将数据从当前表移动到历史记录表。如果更改当前表,则还需要更改历史记录表。因为你正在使用UNION,所以查询所有数据可能会有点麻烦。
似乎更容易在单个表上进行适当的表索引,如果需要,可以查看当前月份的数据。
但是,如果性能是一个问题,那么我同意将数据移动到历史表可能是有利的。