2011-12-27 27 views
1

这个问题与性能有关。我正在开发一个项目,在这个项目中,我有很多只有很少列的表,但有一个对象有多行。在MySQL中有多条记录,信息较少或有很多信息的记录

例如一个表“person_data”,其中我只有列“personID”,“字段”和“值”。对于一个人,我有20个记录,比如someID,“name”,“someName”; someID,“surname”,“someSurName”等...

在读取或写入数据时,我们总是写入或读取1个人的所有值。从性能的角度来看,在表格名称,姓氏等中只有20列是更好的...

感谢您的建议。

+1

http://stackoverflow.com/questions/1125004/which-is-more-efficient-multiple-mysql-tables-or-one-large-table 类似的问题。阅读答案,你应该得到的想法 – Darvex 2011-12-27 09:18:37

+0

您正在使用EAV:http://en.wikipedia.org/wiki/Entity-attribute-value_model – 2011-12-27 09:24:53

+1

检查此问题:http://stackoverflow.com/questions/4066463/should -i-use-eav-model – 2011-12-27 09:29:33

回答

0

如果某些对象的属性编号没有经常更改,则应将该属性存储在同一个表中。从一个表中选择数据比使用连接和外键同时从多个表中获得更快。