Mysql大表vs连接

时间:2012-05-15 18:30:23

标签: mysql normalization

我有一个(项目[id,名称,颜色,大小等])表超过6000.我认为它最多可以达到10000。 在该表中基本上是关于项目的信息。我还有5个恒定的仓库桌子和0到7个临时仓库的桌子。 这些表是这样的(id,item_id,quantity)。我试图通过在一个表(id,item_id,quantity,storehouse_id)中组合这些仓库来规范化该数据库。当使用自联接从所有仓库中搜索多个项目时,这使搜索速度极慢6-10秒。然后我决定将项目与新创建的数据库(id,name,color,size等,storehouse1_quantity,storehouse2_quantity等)组合在一起。这使得任何请求的查询小于0.1秒。但现在数据库非常非规范化。仓库不超过2000件,大多少于500件。 如果没有更好的方法,我可以忍受。我不知道在哪里可以使数据库更具逻辑性并且更易于维护。 任何帮助表示赞赏!提前谢谢!

1 个答案:

答案 0 :(得分:1)

嗯,规范化方法是“正确的”方式,并且由于数据库引擎是为了解决这个问题而构建的,所以我将开始研究你的索引安排。如果有很多查找/连接,通常应该有一个索引,以便MySQL不必查看所有文本。