哪一个(mysql)性能更好?
“1500(300x5)每桌365行的”OR“(300x5)1个表中的1500x365行”?
(我将用php获取数据。)
365 - >一年中的天数
答案 0 :(得分:3)
第二个。 http://datacharmer.blogspot.com/2009/03/normalization-and-smoking.html
[更新问题后编辑]
在第二种情况下,您可以在列(x_id,date)
上创建索引,这将提高WHERE x_id = ? AND date = ?
次搜索的效果。对于索引良好的表,一些~550000行并不多。
答案 1 :(得分:1)
假设数据中的所有关系都是一对一的,那么使用单个表的第二个选项是更好的(规范化)方法。
但是多表选项或正在存储的数据没有详细信息。糟糕的设计,就像每个用户的表一样,是对性能的责任 - 而不是许多表的事实。
事情仍然很模糊,但您想要存储的数据是每天和多年来的数据。是什么让您考虑使用相同格式的单独表格?相同的表格会提示我建议单个主表格,其中包含一些支持表格,例如状态和/或类型代码,以区分单个表格中的记录,这在单独的表格方法中很明显。
答案 2 :(得分:-1)
这取决于你正在使用的引擎,以及你是否会有更多的阅读或更多的写作。
看看每个引擎锁定表有关读写的方式。
但1500桌子很多。我希望像10桌子一样。
1表也不是一个糟糕的选择,但如果有一天你想拥有多个服务器,那么用10个表来传播它们会更容易。
另外,如果你改变表的结构将会很长,只有1个表。 (我知道它不应该附加但事实确实如此)